zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    Docker+Nginx 部署Vue+Element前端项目
    MySql取字段逗号分隔的第一个
    Mysql数据库中从表字段中存储了主表以逗号隔开的主键ID,现需求查询从表数据以及以逗号隔开的字段改为主表名称隔开(group_count() find_in_set())
    IIS 错误500.21解决方法
    IIS 出现500.19 错误处理解决方式
    Linux中vim的三种模式
    Centos7 .Net Core 使用Supervisor守护进程,进行后台运行
    Nginx反代理ASP.NET Core项目
    C# vb .net实现圆角矩形特效滤镜
    C# vb .net实现旋转特效滤镜
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/9510593.html
Copyright © 2011-2022 走看看