• DBCacheServer升级


    前段时间完成了该服务的设计的功能,花了很多时间和经历,最终完成了一个版本,已经测试了;现在后期再次在以前的基础上,完成了一些扩展。

    1.扩展了内存存储

    最初版本只是采用了gauva cache进行存储,让其在内存中缓存。新的缓存做了这么几件事情。

    1,增加了配置,配置缓存的大小和时间。

    2.增加了参数化SQL的结果缓存,将参赛序列化为json格式字符串,结合SQL做key缓存结果。

    3.gauva cache中过期数据转移到redis中存储,配置redis将扩展内存缓存存储,加快查询。redis客户端采用集群查询的方式,你可以任意部署。

    2.整体服务升级

    初版服务只是单个服务部署的模式,其实我感觉已经足够了,比较数据库查询是交给数据库的集群做查询的,单服务已经足够承担起查询使用了。但是考虑道服务器配置问题,所以还是提供了集群部署方案。

    具体:1.比较了几种方案,折腾了一周进行学习和简单研究,比较了consul和etcd。最后采用了etcd。

               etcd服务承担注册中心,根据配置,服务启动后向etcd节点注册,向etcd发送自己的IP及端口。etcd本身可以集群部署。

           这样实现服务的集群部署。

           2.客户端操作,客户端通过etcd获取服务的注册信息,然后调用服务。

          3.提供了代理,写了一个代理件,代理件提供etcd获取服务信息,客户端向客户端请求服务IP信息,然后调用服务查询。

         4.由于etcd的集群部署,服务提供了配置文件长传,主要配置文件长传后,其它服务节点会监测有没有配置文件需要更新,如果需要就更新文件,定时监测文件更新的服务会重新加载一次配置文件。还可以扩展其它功能,但是我没有提供了。

       更新文件的比较,我直接采用比较文件内容字符串的方法。如果文件内容不同就更新文件。

        下一篇我将简单介绍一下etcd。

    服务地址

    https://github.com/jinyuttt/DBCacheServer.git
     
  • 相关阅读:
    ArcgisServerJS固件位置
    PrintTemplate说明
    地图打印仅地图4X
    地图打印4X
    IIS下设置跨域访问问题--Access-Control-Allow-Origin 站点跨域请求的问题
    javascript的 热点图怎么写
    Flex 加载shp
    Flex 加载dwg
    Flex 加载tiff
    Flex 加载 wmf,svg
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/9510593.html
Copyright © 2020-2023  润新知