设为首页 收藏本站
查看: 1020|回复: 0

[经验分享] 服务器端开发总结

[复制链接]

尚未签到

发表于 2017-3-2 11:09:52 | 显示全部楼层 |阅读模式
1. 服务异步化

网络IO处理异步化(NIO, Jetty Continuation,Servlet 3)

服务的异步化(Future, Callable, Runnable, Callback)

2. 线程与协程

多线程并发或者协程支持并发,相比而言,协程在处理IO密集型更具优势

3. 缓存无处不在

前端、CGI、后台能用缓存的地方尽量使用缓存,极大的提高系统性能,包括分布式缓存,本地缓存等等

4. 消息队列

尽量使用消息队列解耦系统

5. 协议设计

二进制协议或文本协议,常用的PROTOBUF、JSON、XML,或者自定义私有协议,协议设计要尽量保持前向兼容性。

6. 核心配置化

对于常用的功能选项以及产品策略,需要做到配置化,变更做到实时下发

7. 系统模块化

大系统尽量模块化,保持模块的单一性和模块间的低耦合,提高模块的可维护性

8. 系统分层

合理的对系统进行分层,保持层次间的独立变化

9. 服务监控

随时全方位的监控服务状态,设置合理的服务告警,例如系统请求量,CPU/内存负载情况,消息队列,成功率,延时等等。

10.服务降级

对于非核心功能支持开关,紧急情况关闭开关降级服务,提供有损服务,避免服务完全不可用。开发设计过程中要区分好关键路径和非关键路径,对于非关键路径允许其失败,但不影响关键路径

11.服务依赖

对于调用第三方系统接口的情况,根据负载要提前合理设置超时时长,对于第三方系统调用自身接口,主要提前做好频率限制,防止请求量过大导致雪崩

12.独立部署

核心模块与非核心模块做到独立部署,应用适当进行拆分部署。即快慢分离,动静分离,轻重分离

13.业务日志

系统保留近期的流水日志,方便问题定位和解决

14.过载保护

前期设计时需要合理评估系统的容量,要设置系统过载阀值,当系统请求量过载时,能运用有效手段进行服务降级。超时必须设置,且要合理预估

15.负载均衡

服务器部署绝对要避免单点,不能因为一个单点的失败而使整个系统无法服务,包括接入层、逻辑层、存储层都要避免单点部署

16.容灾备份

核心数据支持跨机房容灾,甚至跨城市容灾,数据做到热备或冷备。

17.灰度发布

新特性发布尽量灰度发布,能最大程度的减少问题的影响,快速的迭代解决问题

18.服务无状态

系统尽量做到无状态,保持横向的扩展能力,避免有状态带来的升级以及维护不方便

19.合理设计

非核心业务,例如业务统计或者上报等等,可以采用无需回包的UDP上报。技术方案有时候要结合具体的业务需求,在性能、一致性等方面可以折中权衡

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-349236-1-1.html 上篇帖子: Windows下Spark单机环境配置 下篇帖子: 服务器端开发技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表