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升级的更多相关文章
- DBCacheServer服务升级
前段时间完成了该服务的设计的功能,花了很多时间和经历,最终完成了一个版本,已经测试了:现在后期再次在以前的基础上,完成了一些扩展. 1.扩展了内存存储 最初版本只是采用了gauva cache进行存储 ...
- 数据库查询服务DBCacheServer
各个业务系统,都需要查询各类数据库; 一般查询数据库都是客户端自己连接,根据现在的情况,存在以下几点问题 1.客户端连接很多,连接大小,峰值不可控 2.客户端SQL程序员自己写,参差不齐 3.SQL书 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
- Entity Framework Core 1.1 升级通告
原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...
- ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录
升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating ...
- SQL Server2016升级前几点自检
SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...
随机推荐
- 2017年9月17日 JavaScript简介
javascript简介 javascript是个什么东西? JavaScript是个脚本语言,需要有宿主文件,它的宿主文件就是html文件. 它与java有什么关系? 没有什么直接联系,java是s ...
- PHP常用的一些数组操作总结
1.array_values() :返回包含数组中所有键值的数组,不保留键名. 2.array_diff() 函数返回两个数组的差集数组.该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的 ...
- OLEDB 数据变更通知
除了之前介绍的接口,OLEDB还定义了其他一些支持回调的接口,可以异步操作OLEDB对象或者得到一些重要的事件通知,从而使应用程序有机会进行一些必要的处理.其中较有用的就是结果集对象的变更通知接口.通 ...
- Sass学习笔记(三)
一.Sass的控制命令 二.Sass的函数功能 sass中除了可以定义变量,还自备了一系列函数功能,主要包括:字符串函数.数字函数.列表函数.颜色函数.Instrospection函数.三元函数等.当 ...
- CSS之背景的填充范围
1.资料:CSS2.1 进行了更正:元素的背景是内容.内边距和边框区的背景 2.也就是说背景颜色,background-color:这些会填充内边距和边框border, 而不会填充外边框margin的 ...
- 【数据库】5.0 MySQL入门学习(五)——MySQL源码了解及MySQL初始化设置
1.0 MySQL源码目录主要包括:客户端代码.服务端代码.测试工具.其他库文件.当然,看懂源代码得有一定的C语言基础. BUILD:各种平台的编译脚本,可以用来制作各平台的二进制版本 client: ...
- Android存储扩展学习-----应用的清除数据和清除缓存
前几天和朋友聊到了APP清除数据这块,聊到了清除数据都会清掉哪些数据,我们每个人的手机在”设置–>应用管理”里面,选择任意一个App,都会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我 ...
- CSS中的各类选择器
属性选择器 结构性伪类选择器 UI状态伪类选择器 CSS其他选择器
- 使用命令行执行.sql文件
用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008R版本为例: 第一步:Win+R 键入:cmd 命令,开启命令行工具: 第二步:键入:cd C:\Program Files ...
- ThinkPHP5专题
TinkPHP5中 1. model中select()后的查询结果是对象而不是数组 2. model中 假如有 $result=$this->field($fields)->where($ ...