加入我们 登录
 找回密码
 加入我们
搜索
创梦者 首页 技术控 查看内容

理想的互联网服务后台框架的九个要点

2017-1-25 10:53| 发布者: 残梦| 查看: 306| 评论: 9

理想的互联网服务后台框架的九个要点,对于互联网服务后台团队,开发框架的选择是非常关键的一个问题,多年的海量服务经验和教训使得我们团队深刻的认识到: ... ...



理想的互联网服务后台框架的九个要点

对于互联网服务后台团队,开发框架的选择是非常关键的一个问题,多年的海量服务经验和教训使得我们团队深刻的认识到:

要尽早规范团队的开发服务框架,避免到了后期,各种开发语言混杂、各类存储组件充斥、重复编码、每个模块形态不统一、文档缺失、监控瘫痪、人员离职造成大量信息丢失,最后积重难返、痛苦不堪。

没有框架来规范,团队的随意性就太大,合作效率就大打折扣,甚至于内耗、反复的挖坑填坑,系统的成败过于依靠人的意识和水平。

规范,不能靠文档、不能靠劳动纪律、不能靠苦口婆心、不能靠人员意识、不能靠运动式的整顿,要靠技术框架上切实的限制与贴心保护。

如果有机会从0开始定义一个理想的开发框架,需要考虑哪些点?我们觉得主要有如下9个方面:

【同步编码异步执行】兼顾运行效率和编码效率,希望代码写起来是同步和顺序的,而执行的时候是异步的

【IDL/RPC】支持IDL(接口描述语言)和RPC,减少网络协议相关的重复工作,协议有比较好的扩展性;远程调用友好且高效,做到覆盖主要的开发语言

【LB】对服务间的调用选路进行统一的管理,对单机故障和网络波动等常见情况有自动容错,我们简称load balance(LB)

【 存储服务化】这个其实和开发框架关系不太紧密,这里提一下,强调存储应该有统一的组件且由专业的团队运维,就像共有云一样

【过载保护】框架必须有成熟自带的过载保护机制,不需要业务开发人员关注或者关注很少

【基础的监控和告警】RPC调用、机器的cpu/网络活动、任务并发度、时延、进程监控和秒起等基础信息,要有上报、统计和告警,不需要业务开发人员关注。

【完整的业务流转呈现】统一日志,在一个地方能够清晰的呈现某次业务处理过程的流转详细情况:经过了哪些模块间调用,调用参数是怎样的,每个模块处理的重要分支和结果是怎样的,最好图形化呈现。支持染色和不同的日志详细级别

【中央总控】整个系统的配置和文档等重要信息,例如每个模块有哪些机器,分布在哪些机房、容量冗余情况、模块间调用关系、访问控制的配置动态管理甚至电子流,都希望能统一在一个地方web化的管理起来,并且与运营的系统是直接联系直接生效的

【云调度】容量的自动调度。例如要进行某个运营活动需要大量的扩容,只需要把设备放进去,就能自动的扩缩容。当某个城市机房故障,能够自动调度容量到其他城市

基于上面的总结,我们团队开源了一个服务开发运营框架,叫做毫秒服务引擎。

毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯的一个开源框架,集RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、key-value存储于一体,目的是提高开发与运营的效率和质量。

毫秒服务引擎的创作冲动和构建经验,来自QQ后台团队超过10年的运营思考。它是一整套解决方案,但也可以拆分的来使用其中的监控、key-value存储单品。

典型用户群体

使用毫秒服务引擎,用户可以快速拥有一套具备监控、名字发现服务、负载均衡、灰度发布、配置管理、日志、kv存储等功能的系统化的开发与运营框架,特别适合互联网初创公司。

毫秒服务引擎非常容易搭建和上手,使用它,初学者从零开始开发一个分布式后台demo并运行起来,只需要2个小时。基本上是一个小时完成框架搭建,一个小时完成开发上线。

功能与优势

模块间访问采用RPC的方式,开发者不用关注网络与报文格式,像写单机程序一样开发分布式服务

负载自动均衡与容错,对于单机故障、局部网络波动等状况自动应对,服务高可用性

支持C/C++与java语言,后续还将继续丰富;如果选择C/C++语言,支持协程,兼具开发和运行效率

Web化的管理界面,在web界面完成配置、发布、监控、日志、Key­-value存储集群管理等所有操作

需要复杂部署的服务器都采用docker镜像的方式安装,使得部署与上手非常容易

相比使用其他开源组件拼凑起来的解决方案,毫秒服务引擎更加的体系化,对团队的规范更加到位


完美

给力

泪奔

无聊

跪了
发表评论

最新评论

引用 游客 2017-4-3 22:30
LM0OWy  <a href="http://wlvivjjfghzo.com/">wlvivjj ...
引用 游客 2017-4-3 21:37
wTvV72  <a href="http://stbkzprphyww.com/">stbkzpr ...
引用 游客 2017-4-3 20:34
xupBBC  <a href="http://lqknmnuwcfik.com/">lqknmnu ...
引用 游客 2017-4-3 20:22
cYWwZa  <a href="http://hqlxkboildre.com/">hqlxkbo ...
引用 游客 2017-4-3 20:02
a8yyav  <a href="http://ecikxewkgxce.com/">ecikxew ...
引用 游客 2017-4-3 18:46
X7a9Fr  <a href="http://towowlusuqtz.com/">towowlu ...
引用 游客 2017-4-3 18:38
7P5jqr  <a href="http://hljdyzgjfaea.com/">hljdyzg ...
引用 游客 2017-4-3 18:29
STlBSQ  <a href="http://fmsvxnlaihhy.com/">fmsvxnl ...
引用 游客 2017-4-2 04:57
7Fty89 http://www.LnAJ7K8QSpkiStk3sLL0hQP6MO2wQ8gO ...

查看全部评论(9)

精彩导读
想为 iPhone X 做交互设计?你需要读这篇文章
想为 iPhone X 做交互设计?你需
iPhone X(称之为 iPhone 10)已经正式发布,并将于 11 月 3 日开始... ...
信用已被透支殆尽,乐视汽车或成贾跃亭弃子
信用已被透支殆尽,乐视汽车或成
尽管在爆发了一系列讨债风波、资金危机、股权变动和易主剧情,并被愤... ...
人工智能时代,是时候学点Python了
人工智能时代,是时候学点Python
“是时候学点Python了”。作为一名不怎么安分的程序员,你或许觉得,... ...
《绝地求生》为什么这么火?
《绝地求生》为什么这么火?
当他们在“吃鸡”时,到底是在干嘛?分享一篇关于 “吃鸡”游戏《绝... ...
Python和Ruby两大语言全方位对比
Python和Ruby两大语言全方位对比
最近在考虑学习一门后端语言,在Ruby和Python直接犹豫,然后自己做了... ...
关注我们

关注微信公众号,了解最新精彩内容

WeChat

创梦者(cm-z.net)创建于2016年。

 

专注专业的技术学术讨论,前沿的科技资讯新闻,以及智能硬件结构拆解,电子产品评测等内容的科技媒体。



关于我们|Archiver|手机版|小黑屋|创梦者-与梦想者共创未来 ( 晋ICP备13003410号 )

GMT+8, 2018-8-21 15:38 , Processed in 0.223818 second(s), 28 queries .

本站由: 腾讯云 提供云服务器 Discuz! 提供后端支持

© 2015-2017 CMZ Inc.

返回顶部