美文网首页
spring boot微服务-第一部分:概览

spring boot微服务-第一部分:概览

作者: sstraybitd | 来源:发表于2020-03-02 17:14 被阅读0次

    这一系列主要讲解一些基本的微服务知识及微服务架构。用一个例子以代码的方式加深理解。

    Eureka Naminig Server:微服务之间进行通信
    Riibbon: 客户端负载均衡

    例子说明:

    • 汇率服务(Forex Service)- 简称 FS
    • 货币兑换服务(Currency Conversion Service) - 简称CCS

    汇率服务(FS)

    作为本列子中的服务提供者,汇率服务主要提供汇不同货币之间的汇率值。比如美元兑人民币是1:6.8,欧元兑卢比是1:75。
    汇率服务接收的请求和返回分别是:

    {
      id: 10002,
      from: "EUR",
      to: "INR",
      conversionMultiple: 75,
      port: 8000,
    }
    

    货币兑换服务(CCS)

    作为服务消费者,使用汇率服务提供的服务获得当前货币与将要兑换的货币的兑换值,然后计算出兑换的数量。比如我有10000欧元可以兑换750000卢比。

    {
     id: 10002,
     from: "EUR",
     to: "INR",
     conversionMultiple: 75,
     quantity: 10000,
     totalCalculatedAmount: 750000,
     port: 8000,
    }
    

    汇率服务与货币兑换服务交互图

    image.png

    Eureka Naming Server 和 Ribbon

    根据负载均衡的基本要求,一个服务可以应该有许多不同的实例,如上面的例子中

    • 货币兑换服务可以有许多不多的实例
      image.png
    • 汇率服务可以有许多不同的实例
      image.png

    但是这些实例怎么进行通信及怎么实现负载均衡?
    在接下来的一系列文章中,用Eureka Naming Server注册所有的微服务,用Ribbon轮巡调度算法实现负载均衡

    此系列微服务架构的实现

    作为一个例子,我们将创建两个汇率服务,两个货币兑换服务,实际上大型项目可以创建上百个实例,只不过作为例子,没必要弄的很复杂。

    image.png image.png

    因为我们想动态的实现负载均衡,我们在服务之间相互通信,肯定不能通过在代码中以另一个实例的url地址去调用,因此我们需要一个命名服务,比如上文的CCS服务和FS这两个服务,CSS服务名称注册到eureka中了,FS服务名称注册到Eureka中了,CSS服务需要调用FS的服务,CSS就发一个FS服务名称到Eureka,Eureka会返回给CCS两个FS实例的url地址,CCS通过ribbon轮巡调度算法选择使用哪个url地址调用FS服务。如下图所示


    image.png

    现在不明白没关系,在接下来的文章中,我会以代码的方式具体的讲解。

    相关文章

      网友评论

          本文标题:spring boot微服务-第一部分:概览

          本文链接:https://www.haomeiwen.com/subject/czxvkhtx.html