码迷,mamicode.com
首页 > 其他好文 > 详细

系统设计思考

时间:2018-02-24 00:48:45      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:doc   分库分表   god   技术人   http   实际应用   web   缓存   ide   

IT系统设计从早期的Jsp/Servlet类应用为主,到今天的微服务、ServerLess、Docker、Paas、CI&CD、Devops。目标:高效研发、弹性扩展、高效运维。手段:Divide&Conquer (分层,解耦合)。

协议层从早期的HTTp+XML&SOAP 到今天的Restful (Spring)& 轻量级RPC (Dubbo, gRpc),协议的效率和内容自描述性方面得到了很大提高;

功能分离:缓存和消息队列得到了广泛的应用。

数据存储:各类Nosql(Cassandra、Hbase、MongoDB、Nero4J等) 数据库的出现极大丰富了数据存储的选择。

微服务框架:Spring Cloud, Dubbo 等,简化了微服务开发和治理工作

当前一些有自研需求的公司逐步开始在已有Iaas平台基础上,引入Docker,基于K8s实现服务(容器)的治理,逐步实现DevOps & CICD 目标。

实际应用开发中,典型的应用首先会对应用进行分层,客户端层(微信客户端、web、Android、Ios)和服务层分离,这样可以各层实现自我优化;服务层通过分布式技术,使用微服务设计理念,实现服务的弹性扩展和支撑能力;数据层通过分库分表、读写分离等技术扩展数据存储层面的能力。

对于技术人员来说,需要了解核心的设计思想,在选择技术框架时,能够根据不同的层分析不同的适用原则选择框架,上线运维过程中能够快速定位问题,并用合适的方式来解决。

 

系统设计思考

标签:doc   分库分表   god   技术人   http   实际应用   web   缓存   ide   

原文地址:https://www.cnblogs.com/itermm/p/8463869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!