中山市企业网站seo营销工具,高端品牌有哪些牌子,找人做企业网站 注意什么,h5微信网站开发传统架构到分布式架构详解 软件架构演进软件架构的发展经历了从单体架构、垂直架构、SOA架构到微服务架构的过程#xff0c;博客里写到了这四种架构的特点以及优缺点分析#xff0c;个人学习之用#xff0c;仅供参考#xff01; 1.1.1 单体架构 特点#xff1a;1、所有的…传统架构到分布式架构详解 软件架构演进软件架构的发展经历了从单体架构、垂直架构、SOA架构到微服务架构的过程博客里写到了这四种架构的特点以及优缺点分析个人学习之用仅供参考 1.1.1 单体架构 特点1、所有的功能集成在一个项目工程中。2、所有的功能打一个war包部署到服务器。3、应用与数据库分开部署。4、通过部署应用集群和数据库集群来提高系统的性能。 优点1、项目架构简单前期开发成本低周期短小型项目的首选。 缺点1、全部功能集成在一个工程中对于大型项目不易开发、扩展及维护。2、系统性能扩展只能通过扩展集群结点成本高、有瓶颈。3、技术栈受限。 1.1.2 垂直架构 特点当访问量逐渐增大单一应用增加机器带来的加速度越来越小将应用拆成互不相干的几个应用以提升效率。此时用于加速前端页面开发的 Web框架(MVC) 是关键。 优点1、项目架构简单前期开发成本低周期短小型项目的首选。2、通过垂直拆分原来的单体项目不至于无限扩大。3、不同的项目可采用不同的技术。 缺点1、全部功能集成在一个工程中对于大型项目不易开发、扩展及维护。2、系统性能扩展只能通过扩展集群结点成本高、有瓶颈。 1.1.3 SOA架构 面向服务架构如dubbo 优点把模块拆分使用接口通信降低模块之间的耦合度把项目拆分成若干个子项目不同的团队负责不同的子项目增加功能时只需要在增加一个子项目调用其它系统的接口就可以可以灵活的进行分布式部署 缺点 系统之间交互需要使用远程通信接口开发增加工作量 1.1.4 微服务架构 特点1、将系统服务层完全独立出来并将服务层抽取为一个一个的微服务。2、微服务遵循单一原则。3、微服务之间采用RESTful等轻量协议传输。 优点1、服务拆分粒度更细有利于资源重复利用提高开发效率。2、可以更加精准的制定每个服务的优化方案提高系统可维护性。3、微服务架构采用去中心化思想服务之间采用RESTful等轻量协议通信相比ESB更轻量。4、适用于互联网时代产品迭代周期更短。 缺点1、微服务过多服务治理成本高不利于系统维护。2、分布式系统开发的技术成本高容错、分布式事务等对团队挑战大。 要解决的技术难点1、这么多服务怎么找?通过zookeeper做服务注册信息的分布式管理。当服务上线时服务提供者将自己的服务信息注册到ZK并通过心跳维持长链接实时更新链接信息。服务调用者通过ZK寻址根据可定制算法找到一个服务还可以将服务信息缓存在本地以提高性能。当服务下线时ZK会发通知给服务客户端。 主流的注册中心zookeeper、Eureka、consul、etcd 2、服务之间如何通信因为所有的微服务都是独立的Java进程跑在独立的虚拟机上所以服务间的通信就是IPCinter process communication已经有很多成熟的方案。比如基于HTTP的REST或者Thrift 3、这么多服务服务挂了怎么办 重试机制熔断机制限流/降级负载均衡转载于:https://www.cnblogs.com/linjiqin/p/10074004.html