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
转载于:https://www.cnblogs.com/jinyu20180311/p/9510593.html
DBCacheServer升级相关推荐
- 系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗
在 <微服务架构设计模式> 一书中,作者总结了关于微服务的一些"重点",原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻.但如同我给所有客户的忠告一样,我想对 ...
- 使用rancher对Docker容器服务升级
这是笔者以前使用到的一个docker管理工具--rancher 升级服务的步骤 记录一下,说不定有人需要或者以后能用上呢? 1.打包好后上传服务器,编写Dockerfile FROM jdk8apli ...
- pip 升级之后提示 bash: /usr/bin/pip3: No such file or directory
1. 问题现象 pip 升级之后使用时报错: $ pip3 -V bash: /usr/bin/pip3: No such file or directory 通过命令查找 pip 位置 $ whic ...
- 旷视MegEngine核心技术升级
旷视MegEngine核心技术升级 7 月 11 日,旷视研究院在 2020 WAIC · 开发者日「深度学习框架与技术生态论坛」上围绕 6 月底发布的天元深度学习框架(MegEngine)Beta ...
- 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
计图(Jittor) 1.1版本:新增骨干网络.JIT功能升级.支持多卡训练 深度学习框架-计图(Jittor),Jittor的新版本V1.1上线了.主要变化包括: • 增加了大量骨干网络的支持,增强 ...
- 快手推荐系统及 Redis 升级存储
快手推荐系统及 Redis 升级存储 借傲腾™ 补上 DRAM 短板 内容简介: · 作为短视频领域的领先企业,快手需要不断导入更先进的技术手段来调整和优化其系统架构,以应对用户量和短视频作品数量的爆 ...
- YOLO3升级优化版!Poly-YOLO:支持实例分割!
YOLO3升级优化版!Poly-YOLO:支持实例分割! POLY-YOLO: HIGHER SPEED, MORE PRECISE DETECTION AND INSTANCE SEGMENTATI ...
- CentOS7 php7.0 升级到php7.3
不要问我为什么要升级,我不是运维.如果你也不是运维的话,而且是公司的服务器的话,那你还是要慎重啊,我他么的就这样填了一天的坑,简单记录一下这坑爹的一天 备份之前的php7.0(这很重要,非常重要) 如 ...
- web app升级—带进度条的App自动更新
带进度条的App自动更新,效果如下图所示: 技术:vue.vant-ui.5+ 封装独立组件AppProgress.vue: <template><div><van- ...
最新文章
- 区块链概况:从数字货币说起
- flask 上下文管理
- 如何用Seaborn描绘柱状图(条形图),箱线图,小提琴图,分类散点图,分面网格分类图,散点图(3)
- Hash冲突处理终极版
- c#使用PdfiumViewer展示、打印pdf文档
- windows10下载
- Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)
- java的super_Java中的Super()
- Altium Designer(七):3D模型
- windows下perl使用
- Element UI踩坑记 —— el-table中 formatter 的属性居然失效了
- nuc8 macos12升级测试
- Spring boot Mybatis-Plus数据库单测实战(三种方式)
- 华为机试HJ69:矩阵乘法
- 【Qt实战派学习群】 建立啦!
- 大数据技术学习,深度挖掘大数据的现状分析
- 联机版俄罗斯方块带自动挂机源码
- 游戏服务器 协议 安全问题,游戏服务器开发安全问题
- 近期对战体会 [20170102]
- XTDrone无人机、无人车等自动控制仿真平台