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
DBCacheServer服务升级的更多相关文章
- 服务升级中的zookeeper
服务升级中zookeeper可以管理服务中的配置以及作为leader选举以及分布式事务等, 在这次主要用于配置管理,关于配置管理主要设计如下,通过zookeeper管理配置项,通过 管理界面来管理数据 ...
- Rancher中的服务升级实验
个容器副本,使用nginx:1.13.0镜像.假设使用一段时期以后,nginx的版本升级到1.13.1了,如何将该服务的镜像版本升级到新的版本?实验步骤及截图如下: 步骤截图: 个容器,选择镜像ngi ...
- 关于已部署的WCF服务升级的问题
在日常的开发过程中,我们会经常迭代发布不同的版本,所以WCF服务的接口也会经常处于变动的状态,比如在传递实体类中新加一个字段.修改参数名称等等关于服务升级的问题.但是我们不可能让已发布的版本重新引用新 ...
- 服务升级带来的Bug,BAT也不能幸免
这是标题党,关于阿里的,BT躺枪了. 为什么淘宝上找不到"亲淘"了? 好吧,我今天遇到了一个Bug: 立即更新,然后你看到了: 才发现亲淘不能使用了. 看官方页面: 提示:2016 ...
- 【大话云原生】kubernetes灰度发布篇-从步行到坐缆车的自动化服务升级
此文系[大话云原生]系列第四篇,该系列文章期望用最通俗.简单的语言说明白云原生生态系统内的组成.架构以及应用关系.从这篇开始我们要开始针对Kubernetes进行介绍了,本文内容如下: 一.Kuber ...
- docker 服务升级
使用docker大家一般都是微服务部署了.个人的经验是乖乖的用docker自己的注册发现机制. 创建一个overlay类型的network.把所有的微服务加入进去.就可以把service name当作 ...
- CODING 2.0 服务升级:一站式服务体系助力企业研发上云
近日,CODING 在 KubeCon 2019 上海站上正式推出了 DevOps 的一站式解决方案: CODING 2.0,除了进行 产品 及 产品理念 的升级,还对用户服务进行了整体升级,主要涵盖 ...
- CODING 静态网站服务升级,快速、稳定、高拓展!
CODING 静态网站拥有强大的页面托管服务,目前已有数万开发者.设计师.产品经理.团队与企业使用 CODING 静态网站托管了他(她)们的个人网站.博客.企业与产品官网.在线文档等.CODING 静 ...
- ES Bridge跨链桥服务升级,新增BSC跨链网络
3月15日,Equal Sign Bridge(ES Bridge)跨链桥宣布新增BSC跨链网络,方便更多用户参与到ES Bridge的建设与发展,未来还将持续拓展更多的主流跨链币种,提升各链间的互操 ...
随机推荐
- Cookie的应用实例
ASP.NET设置元素CSS属性 1.添加一条CSS规则: control.style.add("CSS名称",“CSS值”); 2.添加Class规则 Control.CSSCl ...
- IIS发布常见错误-HTTP 错误 404.0 - Not-Found
错误信息:HTTP 错误 404.0 - Not-Found 错误代码:0x80070002 原 因:IIS配置错误. 解决方法:我配置IIS时漏掉了下面几项,一定要记得勾选.
- nodejs 实践:express 最佳实践(四) express-session 解析
nodejs 实践:express 最佳实践(四) express-session 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs ...
- 项目管理系统 TAIGA 部署
题记 使用了 MantisBT 一段时间,觉得功能太少,只局限在错误跟踪,而且操作体验比较差,界面很糟糕,很早就想将其换掉. 偶然发现一个很不错的新选择:Taiga,于是就试着将其部署下来,发现绝对是 ...
- 支持触屏的jQuery轮播图插件
移动轮播图我看到两类, 一款是无线天猫的m.tmall.com和携程,实现了无缝轮播. 一款是蘑菇街的,没有实现无缝轮播. 我自己重写一个,类似天猫. 1.页面代码 <!DOCTYPE html ...
- 关于java文件名字影响系统配置
测试OAM和OIF单点登录过程中,wlsh.sh中一个命令运行不过.查看一个java文件中有_en标示.修改名称,去掉_en后可以通过.
- ArcGIS Server 10 Java 版的Rest服务的部署方法
使用ArcGIS Server 10 Java版发布GIS服务,当使用ArcGIS Manager创建好服务后,然后打开“ArcGIS Services Directory”的链接时发现网页报出了找不 ...
- linux shell——zsh的安装与使用
Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...
- POJ 1632 Vase collection【状态压缩+搜索】
题目传送门:http://poj.org/problem?id=1632 Vase collection Time Limit: 1000MS Memory Limit: 10000K Total ...
- Spring 的AOP底层实现技术:JDK和CGLIB动态代理
Spring 的AOP实现技术之JDK的动态代理技术实例: 接口:IUserService (Spring的AOP是动态AOP,实现技术:JDK提供的动态代理和cglib代理,cglib它可以为没有实 ...