一:首先看一张springCloud的图片:
二:简单介绍下什么是springCloud?
"Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。"
三:为了方便理解假设一个业务场景(场景来源于石杉的架构笔记(id:shishan100))
假设现在开发一个电商网站,要实现支付订单功能:流程如下--
1.创建一个订单后,如果用户立刻支付了这个订单,我们需要将这个订单状态更新为(已经支付)
2.扣减相对应的商品库存
3.通知仓储中心,进行发货
4.给用户这次购物怎加相对应的积分
针对上述流程,我们需要有订单服务、库存服务、仓储服务、积分服务。整个流程的大体思路如下:
1.用户针对一个订单完成支付后,就回去找订单服务,跟新订单状态
2.订单服务调用库存服务,完成相应的功能
3.订单服务调用仓储服务,完成相应的功能
4.订单服务调用积分服务,完成相应的功能
整个支付流程结束
整个过程可以如下图所示:
四:SpringCloud核心组件:Eureka
4.1首先考虑第一个问题,订单服务要调用库存服务,仓储服务,或积分服务,怎么调用?
1.订单服务根本不知道库存服务在哪台机器上,就算想起来,都不知道发送给谁?
随意springCloud就有一个springCloud的Eureka,Eureka是服务架构的注册中心
专门负责服务的注册和发现;
看下这个图: