毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯的一个开源框架(将于12月左右开源),适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引擎集RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、key-value存储于一体,目的是提高开发与运营的效率和质量。
毫秒服务引擎的创作冲动和构建经验,来自QQ后台团队超过10年的运营思考。它是一整套解决方案,但也可以拆分的来使用其中的监控、key-value存储单品。
如下图,整个系统由下面几部分组成。
web console:整个系统的运营管理中心。主要是:
log服务器:提供业务log的存储和查询服务。Log存储在MySQL表里。
monitor服务器:提供业务上报信息的存储和查询服务。业务上报信息存储在内存里,推荐内存8G~16G。定时dump到磁盘的方式防止数据掉电丢失。
业务运营服务器:部署开发框架和业务逻辑代码,处理业务请求。
key-value存储服务:相对整个框架比较独立,按需选用。
使用毫秒服务引擎,用户可以快速拥有一套具备监控、名字发现服务、负载均衡、灰度发布、配置管理、日志、kv存储等功能的系统化的开发与运营框架,特别适合互联网初创公司。
10年的海量服务开发运营经验和教训使得我们深刻的认识到:
在毫秒服务引擎里,每个服务的配置都被web化的集中管理起来,每个服务都“长”的一样,使得开发和运维的效率大大提高,包括:
每个服务部署的目录结构都是确定的:
如上图所示。部署的目录都是/msec/一级业务名/二级业务名
另外,程序员不能随意打破上面的方式。例如临时的另外搞一个自己配置文件什么的,他如果这样做,那下次发布的时候目录会被覆盖,个性化的东西会被删除掉。
在毫秒服务引擎里,服务间的调用都是统一的RPC方式,统一采用CallMethod()函数的方式,避免代码千奇百怪;按服务名字调用和接口名调用。
RPC背后的路由算法对于单机故障、网络局部波动等异常,自动容错。简单的说,路由算法按一定的规则轮转的选择被调用模块的接口机,并统计过去一段时间的调用成功率、时延信息,根据这些信息调整该接口机被选择到的比例。如果某个接口机故障了,那么就不会发送请求给它,从而实现自动容错。
毫秒引擎框架本身,在RPC执行的时候,就上报了很多基础属性和日志,这样保证了服务监控和告警等运营措施不依赖与人的意识。下图是叫做getMP3List这样一个RPC调用的请求数和成功数,这些是不需要业务开发者工作就自动上报。
每个请求有唯一ID来标识,通过该ID,毫秒引擎可以在框图中直观的呈现该请求经过的模块、模块间的RPC名字等信息,这个同样不需要业务开发者的工作就自动实现:
在毫秒服务引擎里,可以轻松做到灰度发布和监控。
在服务配置管理页点击“制定发布计划”
选择这一次灰度要发布的目标机器和发布类型:
在接下来的向导中选择正确版本的配置文件、外部库、业务插件等,这样就完成了发布计划的制作:
接着,点击菜单 “运维->发布”,可以查询所有发布计划,对于已经发布的计划,可以做回滚操作。点击详情可以查看发布计划更详细信息,并执行发布:
除了前面提到的RPC和框架本身自动上报的一些信息,还支持业务自定义上报信息(例如我想上报第28级VIP用户登录的次数),且支持对于关键指标的波动、最大值、最小值设置告警:
KV存储几乎是互联网后台服务必备的服务。 毫秒服务引擎在redis cluster的基础上提供了一个运维简单的KV存储服务,实现了运维web化,并加上了集群的监控。
集群概要状态查看:
可以在web上方便的完成日常的运维操作:新搭集群、扩缩容、故障机器的恢复:
请求量、内存使用、CPU等各种状态信息可直观监控,也可以按IP粒度查看。
毫秒服务引擎将于2016年12月左右开源,敬请期待,想了解关于更多毫秒服务引擎的信息,请点击阅读原文链接。
原文来自:聊聊架构
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。
根据给定的手机号、姓名、身份证、人像图片核验是否一致
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。
IP反查域名是通过IP查询相关联的域名信息的功能,它提供IP地址历史上绑定过的域名信息。
结合权威身份认证的精准人脸风险查询服务,提升人脸应用及身份认证生态的安全性。人脸风险情报库,覆盖范围广、准确性高,数据权威可靠。