Springcloud 架构设计 学习笔记

观看 网易云课堂,魔乐科技的,springcloud快速入门 所记录

对于分布式的开发设计

最初

思考

  1. 分布式的开发如何可以让代码更加安全?
  2. 分布式开发的时候如何进行有效的通讯?
  3. 在进行分布式 处理的时候到底如何进行程序的功能划分?
  4. WEB集群:考虑到多用户并发访问的处理速度;
  5. 业务中心:在进行一些庞大的项目设计过程之中,应该有更加完善的业务处理,这样所有的客户端(服务器)直接调用这些业务中心的操作就可以完成基体的功能;
  6. 数据库集群:解决了数据的存储问题,一级数据的分片管理

解决办法

分布式的项目开发按照历史经历过如下的一些技术

  1. CORBA
    公共对象请求代理框架,它是一种开发标准。
  2. RMI(远程方法调用)
    该技术是SUN提出的,该技术第一次提出远程接口。
    RMI实现方案:
    RMI实现方案
  3. EJB
    RMI-IIOP 协议,可以看作是RMI和CORBA的结合。基于此出现了EJB。
    在这里插入图片描述
    EJB 只留下了理论。
  4. Webservice (web服务)
    webservie = XML(WSDL) + SOAP
    第一代 Apache Axis
    开源组织:XFire
    Apahe 收购了 XFire称为了XSR
  • 速度太慢了,处理的速度不行
  • 如果要想采用远程接口的方式调用,则要利用开发工具生成一堆的文档。
  1. SOA (面向服务架构)
    它提出了一个企业服务总线(ESB)的概念。
    在这里插入图片描述
    SOA 提出的服务总线,衍生新一代技术。具有代表性国内的阿里的 Dubbo开发技术。成长最快的是Rest,因为Json的广泛应用。

微服务之痛

Springcloud 整体核心架构只有一点:Rest服务,也就是说整个Springcloud的配置过程中,所有的配置处理都是围绕Rest完成的。一定要有两个端:服务的提供者(Provider)、服务的消费者(Consumer),所以对于整个Springcloud 的基础结构如下:
在这里插入图片描述

业务层才能微化为微服务。
在这里插入图片描述
这么多的微服务,如何客户需要使用,就需要知道所有的端口。
所以引入了注册中心,保存所有微服务的相关信息。
在这里插入图片描述
但一旦注册中心一旦挂了,就容易出现问题,所以该注册中心要支持HA机制

  1. 对于整个WEB 架构(springboot实现),利用Nginx 或 Apache 实现负载均衡处理。
  2. 业务端也需要负载均衡 Eureka
  3. 客户端调用的时候都需要一个调用地址,即使现在使用了Eureka作为注册中心,那么它也需要一个调用地址,可是如果所有的操作都要利用调用地址的方式来处理,太麻烦!
  4. 程序最方便的调用方式是接口,希望可以将所有的Rest服务的内容以接口的方式出现调用。所以提供了一个feign的组件。
  5. 进行微服务架构设计牵扯到的问题还是属于RPC ,所以就必须考虑熔断。
  6. 代理机制 zuul
  7. 统一管理配置文件 springconfig

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值