做外贸上不了国外网站,wordpress 相关帖子,app制作步骤,国内网页设计优秀案例SpringCloud SOA 和微服务的区别?(必会)
谈到 SOA 和微服务的区别, 那咱们先谈谈架构的演变
1. 集中式架构 项目功能简单, 一个项目只需一个应用, 将所有功能部署在一起, 这样的架构好处是减 少了部署节点和成本. 缺点: 代码耦合#xff0c;开发维护困难
2. 垂直拆分架构 …SpringCloud SOA 和微服务的区别?(必会)
谈到 SOA 和微服务的区别, 那咱们先谈谈架构的演变
1. 集中式架构 项目功能简单, 一个项目只需一个应用, 将所有功能部署在一起, 这样的架构好处是减 少了部署节点和成本. 缺点: 代码耦合开发维护困难
2. 垂直拆分架构 当访问量逐渐增大单一应用无法满足需求此时为了应对更高的并发和业务需求我 们根据业务功能对系统进行拆分
优点 系统拆分实现了流量分担解决了并发问题 可以针对不同模块进行优化, 方便水平扩展负载均衡容错率提高 缺点 系统间相互独立会有很多重复开发工作影响开发效率
3.分布式服务 当垂直应用越来越多, 随着项目业务功能越来越复杂, 并非垂直应用这一条线进行数据 调用, 应用和应用之间也会互相调用, 也就是完成某一个功能,需要多个应用互相调用, 这就 是将功能拆完来完成的分布式架构.
优点: 将基础服务进行了抽取系统间相互调用提高了代码复用和开发效率 缺点: 系统间耦合度变高调用关系错综复杂难以维护.
服务治理架构 SOA SOA
面向服务的架构 当服务越来越多容量的评估小服务资源的浪费等问题逐渐显现此时需增加一个调 度中心基于访问压力实时管理集群容量提高集群利用率。此时用于提高机器利用率的资 源调度和治理中心(SOA)是关键, 而最初的服务治理基石是 Dubbo 服务治理
以前分布式服务的问题
服务越来越多需要管理每个服务的地址, 调用关系错综复杂难以理清依赖关系 服务过多服务状态难以管理无法根据服务情况动态管理 SOA 服务治理架构的优点: 服务注册中心实现服务自动注册和发现无需人为记录服务地址 服务自动订阅服务列表自动推送服务调用透明化无需关心依赖关系 动态监控服务状态监控报告人为控制服务状态
SOA 服务治理架构的缺点 服务间依然会有依赖关系一旦某个环节出错会影响较大(容错机制) 服务关系复杂运维、测试部署困难不符合开发-运维一站式维护的思想
微服务
前面说的 SOA英文翻译过来是面向服务。
微服务似乎也是服务都是对系统进行 拆分。因此两者非常容易混淆但其实缺有一些差别 微服务的特点
单一职责微服务中每一个服务都对应唯一的业务能力做到单一职责.
微微服务的服务拆分粒度很小例如一个用户管理就可以作为一个服务。每个服 务虽小但“五脏俱全”。
面向服务面向服务是说每个服务都要对外暴露 Rest 风格服务接口 API。并不关心 服务的技术实现做到与平台和语言无关也不限定用什么技术实现只要提供 Rest 的接口即可。
自治自治是说服务间互相独立互不干扰 团队独立每个服务都是一个独立的开发团队人数不能过多。
技术独立因为是面向服务提供 Rest 接口使用什么技术没有别人干涉
前后端分离采用前后端分离开发提供统一 Rest 接口后端不用再为 PC、 移动段开发不同接口
数据库分离每个服务都使用自己的数据源
部署独立服务间虽然有调用但要做到服务重启不影响其它服务。有利于持 续集成和持续交付。每个服务都是独立的组件可复用可替换降低耦合 易维护. 基于 docker 容器是开发.
SpringCloud 是什么?(了解)
SpringCloud 是一系列框架的集合集成 SpringBoot提供很多优秀服务服务发现 和注册统一配置中心, 负载均衡网关, 熔断器等的一个微服务治理框架.
SpringCloud 的优势?(了解)
因为 SpringCloud 源于 Spring所以它的质量稳定性持续性都是可以保证的。 SpringCloiud 天热支持 SpringBoot 框架就可以提高开发效率能够实现需求。 SpringCloud 更新很快后期支持很给力。 SpringCloud 可以用来开发微服务。