SpringCloudAlibaba⼤型互联⽹领域多场景最佳实践笔记汇总提取码:86ir
⼀、  ⽹站的架构演变
⽹络架构由最开始的三层mvc渐渐演变。传统的三层架构后来在互联⽹公司让⼏百⼈⼏千⼈同时开发⼀个项⽬已经变得不可⾏,并且会产⽣代码冲突的问题。基于SOA⾯向服务开发的架构,渐渐产⽣了微服务架构。微服务的架构的特点就是项⽬拆分成各个⼦项⽬,进⾏解耦操作,提供外部访问接⼝,属于敏捷开发,其实也可以视为⾯向接⼝开发。
⼀旦有了多个⼦项⽬,⽐如把淘宝⽹的订单系统和会员系统分开来看,就回产⽣如何管理接⼝、负载均衡、⾼并发情况下怎么限流断路等问题。那么这就有SpringCloud出现了。
那么springCloud的组件⼤概有哪些呢,我先简单介绍下:
Eureka  服务注册中⼼
服务消费者 Rest 和 Fegin  --消费实现负载均衡ribbon
接⼝⽹关Zuul
————————————————
Hystrix  关于服务雪崩的解决⽅案--服务熔断、服务降级、隔离资源。
提取码:86ir
⼆、  Eureka
微服务注册中心有哪些
eureka是个什么东西呢?它是⼀个服务注册中⼼。就拿上⾯的例⼦来说,如果要查看会员的订单详情,那么就要在会员系统的tomcat⾥⾯调⽤订单系统的tomcat⾥的⽅法。那么直接通过接⼝访问吗?显然这是不安全的。因此我们需要⼀个统⼀管理远程RPC调⽤的注册中⼼————————————————
如图所⽰,会员系统和订单都是独⽴能够运⾏的SpringBoot项⽬,把SpringBoot注册进eureka中,这样我们就可以通过eureka让会员系统远程调⽤订单系统。具体配置要怎么做呢?
⾸先我们要创建eureka注册中⼼,这⾥建议⽤idea的⼯具创建SpringBoot项⽬。
————————————————
再次打开注册中⼼⽹页,就发现已经注册进去
重复以上步骤把会员系统也注册进去
提取码:86ir
三、  PRC远程调⽤的⽅法
远程调⽤的⽅法有两种,我们⼀⼀来细说。
1.  第⼀种,通过rest的⽅式来调⽤,⾸先我们要导⼊rest的pom依赖,我们要使⽤⽤户调⽤订单,就在⽤户⾥添加调⽤依赖。先解释⼀下什么是ribbon-----ribbon是⼀个负载均衡客户端 类似nginx反向代理,可以很好的控制htt和tcp的⼀些⾏为。
————————————————
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
2.  Feigin
Feign是⼀个声明式的伪Http客户端,它使得写Http客户端变得更简单。使⽤Feign,只需要创建⼀个接
⼝并注解。它具有可插拔的注解特性,可使⽤Feign 注解和JAX-RS注解。Feign⽀持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
简⽽⾔之:
·Feign 采⽤的是基于接⼝的注解
·Feign 整合了ribbon
第⼀步依然是导⼊依赖
————————————————
提取码:86ir

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。