夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
微服务
  • 单体框架:

    • 将项目打包成一个.jar包或.war包

    • 以一个进程的方式来运行

    • 优点

      • 易于管理
      • 部署简单
    • 缺点

      • 测试程本高

      • 可伸缩性差

        • 某个模块访问量大,不能对某个模块做集群部署,只能对整个系统做集群部署
      • 可靠性差

        • 一个功能出问题,系统所有功能都可能会出现连带问题
        • 团队协作难
  • 微服务框架:

    • 架构风格

      • 项目的一种设计模式
    • 常用架构模式

      • 客户端与服务端的架构(c/s)
      • 基于组件模式的架构(EJB)
      • 分层架构(MVC)
      • 面向服务的架构(SOA)
    • 特点

      • 系统是由多个服务构成
      • 每个服务可以单独部署
      • 每个服务之间是松耦合,服务内部是高内聚
    • 优点

      • 测试容易
      • 可伸缩性强,可靠性强,团队协作容易
    • 常见架构的区别

      • MVC

        • 单体结构
        • 以单数据库为主
      • RPC

        • Remote Procedure Call 远程过程调用
      • SOA

        • 面向服务

        • 提供ESB

          • 企业服务总线
          • 负责服务于服务之间进行交互
          • 负载均衡、流程控制等
      • 微服务

        • 提供了一个轻量级的管理方案

          • 不再使用ESB服务总线
          • 改用注册中心
        • 代表技术

          • SpringCloud、dubbo
        • 注册中心

          • zookeeper
          • Eureka
    • 微服务的设计原则

      • AKF拆分原则

        • 提出一个简要的概念

        • 通过加机器可以解决容量和可用性的问题

        • AKF立方拆分原则

          • Y轴(业务)

            • 将单体系统拆分成不同的服务
          • X轴(水平扩展)

            • 水平扩展
            • 加机器解决
          • Z轴(数据分区)

            • 数据按等级或地域进行拆分
      • 前后端分离原则

        • 将整个系统划分成
        • 前端与后端不一定是1:1
      • 无状态服务

        • 例:如果一个数据需要被多个服务共享,才能完成一次交互,那么这个数据被称为状态

        • 依赖这个“状态” 数据的服务称为有状态服务。否则反之

        • 注意:

          • 阻碍单体架构变为分布式架构的关键点就在于状态处理
          • 如果状态全部保存在本地,无论是本地内存,还是本地硬盘,都会给架构的横向扩展带来瓶颈
      • RestFul通信规则

        • 作为原则来讲本来应该是个“无状态通信原则”

        • 推荐RestFul通信规则

        • 优点

          • 无状态协议的HTTP
          • JSON报文序列化
          • 语言无关


暂无评论

发送评论 编辑评论


				
上一篇
下一篇