湖南响应式网站方案,外贸型网站的特点,衡水seo网站建设优化排名,网站与客户端的区别文章目录 1 前言2 单体应用架构3 垂直应用架构4 分布式架构5 SOA 架构6 微服务云架构7 总结 1 前言
随着移动互联的发展#xff0c;网站、H5、移动端的应用规模也不断扩大#xff0c;不管是应用的数量还是质量都得到了指数级的提升。开发者的数量与日俱增#xff0c;应用的… 文章目录 1 前言2 单体应用架构3 垂直应用架构4 分布式架构5 SOA 架构6 微服务云架构7 总结 1 前言
随着移动互联的发展网站、H5、移动端的应用规模也不断扩大不管是应用的数量还是质量都得到了指数级的提升。开发者的数量与日俱增应用的复杂度也在不断提高如何快速的完成功能的交付并且协调众多的开发者一起进行分工合作这是一个复杂的系统工程。互联网从萌芽到现在系统架构大体经历了几个过程单体应用架构、垂直应用架构、分布式架构、SOA架构、微服务云架构。在本文中将介绍架构的演进过程以及自己的思考。
2 单体应用架构
在互联网发展的早期其网站应用的流量较小所有的功能代码以及数据存储都是一台服务器之上这样的做法可以减少开发、部署和维护项目的成本。在这个阶段一般都是前后端不分离的阶段一个 tomcat 下部署多个应用服务。常见的技术栈包括 springmybaitsjsp 或者 springmybaitsfreemaker。该种方式的优点是单人维护开发节奏快缺点是不适合大型项目模块之间耦合较大单点容错率低。 3 垂直应用架构
垂直应用架构出现的背景是网站的访问量越来越大单一应用还可以增加节点来应对但是并不是所有的模块都需要增加服务能力所以需要对服务按照功能进行拆分对用户访问量大的模块进行扩容。系统的拆分分担了流量解决了并发的问题还可以针对不同的功能模块进行分工和优化此外一个系统的问题不会影响其它的系统提高了系统间的容错率这是垂直应的优点同时各个系统之间无法调用会存在重复的功能代码另外对于管理系统来说session 的会话保持也是一个巨大的问题这种模式下一般采用 tomcat session 复制的模式对资源的消耗比较大。
4 分布式架构
在分布式系统中会将系统中重复的代码单独抽离出来作为独立的服务原来的垂直系统分成了独立的服务层和具体业务的展现层该种架构下提高了代码的复用性但是系统间的复杂度和耦合度增加项目维护难度较大。 5 SOA 架构
对于 SOA 架构就是在分布式的架构基础之上引入了一个服务注册中心用来解耦展现层和服务层极大的解决了系统的运维难度。在 SOA 的架构下ssm 框架 dubbo zk 的结构可谓是风靡一时。在 SOA 的架构下服务进一步的拆分可以尽可能的发挥人员的效力在此种架构下同时也实现了前后端的分离使得开发效率进一步的提高后端和前端都各自专注于自己的领域系统的复杂度进一步提高。
6 微服务云架构
在万物互联万物上云的时代微服务的架构应运而生。微服务的架构进一步的拆分服务并引入各种系统组件用于服务治理服务监控链路追踪鉴权与授权。在此种场景下各个服务组件更加专业化不仅仅是服务的注册与发现还有配置中心链路追踪等微服务全家桶springcloud springcloud alibaba。 SOA 的架构与微服务的架构服务能力对比
SpringCloud 各个组件可选的技术方案。 7 总结
在本文中主要介绍了是近10年来服务架构的演进路径以及每一种架构的优点和缺点。现在是万物互联万物上云的时代微服务是目前十分流行的大型项目的解决方案。但是在实际的项目开发中也要考虑实际情况要考虑项目的定位和发展情况不能过度开发最流行的解决方案不一定是最好的而是要选择与业务场景最适配的架构这样才可以保证项目的交付与迭代更新。