美文网首页
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