当前位置: 首页 > wzjs >正文

4免费网站建站海南省建设考试网站首页

4免费网站建站,海南省建设考试网站首页,建设区服务网站,网站开发维护需要哪些岗位今天学习单体架构到微服务架构的拆分 首先明白为什么需要进行拆分服务: 1.1耦合性高:单体架构多个模块可能会出现互相调用的情况,举一个简单的案例,比如在我们进行购物(淘宝为例)的购物车,这里…

今天学习单体架构到微服务架构的拆分

首先明白为什么需要进行拆分服务:

        1.1耦合性高:单体架构多个模块可能会出现互相调用的情况,举一个简单的案例,比如在我们进行购物(淘宝为例)的购物车,这里的购物车会出现“比加入购物车时降价XX元”。
想要完成这个功能,需要调用到购物车模块和商品模块,购物车模块的原价与当前商品的现价进行相减。这样当我们需要调用购物车接口时,显然需要调用到商品接口。
        1.2健壮性不足(可用性差):当其中的某个模块崩掉了,那么对应其他与其有联系的模块很可能也会崩溃。因为单个线程是顺序执行的,执行到某个模块出错,那么大概率会返回报错,而不是继续执行能够成功执行的部分。

        1.3部署成本高:如果对某个模块进行修改升级,那么需要重新部署整个项目。

        1.4维护性差:单体架构的测试困难,不容易找bug,不宜与维护。

        1.5难以扩展:比如,某个模块的流量剧增,这个模块的压力很大,想要为其分配更多资源,只能整个项目重新部署,这需要很高的时间花销。

如何进行拆分:

1.拆分方式:横向拆分与纵向拆分

横向拆分和纵向拆分是微服务架构设计中​​密不可分且相互补充的策略​​。纵向拆分建立了基于业务能力的系统骨架,横向拆分则为其提供了可复用、统一管理的基础技术能力支撑层。它们协同工作,共同解决了大型复杂系统在业务与技术层面的双重挑战,最终实现微服务的核心价值:高内聚、低耦合、独立部署、弹性伸缩和团队高效自治。将两者有机结合起来,是设计和构建成功微服务架构的关键。

简单来说纵向拆分将整个项目按照功能模块进行拆分,比如一个电商系统、

纵向(业务)层:​

  • 用户管理服务
  • 商品目录服务
  • 订单服务
  • 支付服务
  • 库存服务
  • 推荐服务 (这也属于业务功能)

横向拆分将整个项目的高复用的模块单独进行提取,比如:

  • ​横向(基础设施/平台)层:​
    • 认证授权服务
    • API网关服务
    • 配置中心服务
    • 日志聚合与分析服务 (如ELK)
    • 监控告警服务 (如Prometheus/Grafana)
    • 消息队列服务 (如Kafka/RabbitMQ)
    • 缓存服务 (如Redis)
    • 搜索基础设施服务 (如Elasticsearch服务)

拆分完后,各个模块之间如何进行通信

1.由于微服务各个模块独立,拥有自己的数据库、端口号、服务器,如果模块间需要进行调用,应该怎么处理?

处理方式采用网络通信的形式,A模块调用B模块的接口,让B模块执行A模块需要的功能,然后将功能输出的结果返回给A即可。这种方式和前端通过网络请求后端在本质上是相似的。

2.由于模块之间的相互调用,可以将模块之间的关系抽象为消费者生产者的关系。
又由于每个模块会有多个服务器进行负载均衡,所以模块之间也是多对多的关系。

3.那么模块之间如何进行通信才能保证通信的稳定性?
这里就要引入注册中心,注册中心就是消费者生产者之间的桥梁。生产者只要上线部署,就会被注册中心登记,当消费者模块请求某个某个生产者模块时,注册中心会将该生产模块对应的注册登记表全部传递给消费者,消费者通过负载均衡选取一个生产者进行调用完成功能。

4.生产者挂掉了,注册表如何更新?
这里引入心跳契约,生产者与注册中心通过心跳契约进行维护,当生产者没有心跳(挂了),生产者就会更新登记表,然后给消费者传递新的登记表,保证消费者不会空军。

具体的组件有哪些?

1.首先就是注册中心,国内使用较多的是nacos,部署完nacos后,在各个微服务的配置文件中,对nacos进行配置,注意:nacos在部署时,就需要与数据库进行绑定,所以可以看作nacos默认模块需要有数据库。

nacos这个注册中心基本不会出现在代码中,其管理端在ip地址:8848/nacos,新版好像是ip地址:8080/index.html

也就是说nacos这个内容对于初学者来说,基本只需要会部署就够了。

2.其次就是网络通信与负载均衡,可以使用openfeign这个组件,这个组件可以完整模拟SpringMVC的接口调用机制进行网路通信,从而省去了使用Rest自行建立连接的繁琐过程。

http://www.dtcms.com/wzjs/781940.html

相关文章:

  • 一个完整网站开发合肥房产网安居客
  • 包头网站建设 奥北怎么快速推广业务
  • 网络公司网站设计多少钱长沙专业竞价优化首选
  • 免费模板网站推荐怎么查看网站的ftp地址
  • 向国旗敬礼做时代新人网站行业关键词分类
  • 栅格布局 网站设计唐山做网站多少钱
  • 软文推广范文seo优化是什么职位
  • 做网站优化就是发文章吗做百度竞价网站修改影响排名吗
  • 怎样做公司网站介绍广东省企业诚信建设促进会网站
  • 网站地图怎么做一键导航怎么做网站自动采集数据库
  • fireworks8做网站手机客户端网站建设
  • 建网站公司联系方式wordpress 安全检测
  • 幸运快三的网站怎么做公司门户app
  • 屏蔽蜘蛛抓取 对网站有什么影响河南省和城乡建设厅网站首页
  • 服装网站栏目上海建设项目环保验收公示网站
  • 好的建筑设计网站推荐企业展厅设计专业品牌
  • 泉州网站建设技术外包如何申请免费网站空间
  • 三合一网站建设报价爱墙 网站怎么做
  • 南县网站设计科技公司网页图片
  • 手机做网站用什么广州我网站制作
  • 呼市网站制作pc端网页设计公司
  • 网站做适配手机要多久海外网三农频道
  • 建立免费公司网站嘉兴新闻头条最新消息
  • 个人网站开发意义wordpress怎么关闭ssh
  • 自助式建网站关于公司网站建设方案收集
  • 用dw做的代码怎么放在网站上wordpress刷新ssl就没了
  • 专业做网站哪家强做阿里国际网站多少钱
  • 写作网站六大神书网站建设ppt方案模板
  • 大良建站公司行业现状手机上如何做微电影网站
  • 大兴网站建设价格给中小企业提供网站建设服务