本文比较系统的介绍了Spring Cloud的技术栈,但是不够深入,
1.微服务定义:

2.Spring Cloud 技术栈


伦敦地铁站命名法,这个是真的皮;
3.服务治理
服务治理,简单来说就是服务的注册和发现


服务调用解释:这里只是画了单向的线,A和B其实是双向的,也就是B也可以去注册服务,A也可以调用;
中间是Eureka Server协调

4.实战-EurekaSever高可用
创建Springboot项目(用Maven管理);
添加Spring boot 、Spring Cloud的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
如果用eureka的话也加一下依赖:

配置文件配置:

写下eureka启动项目的脚本:

启动后通过eureka查看服务:

5.负载均衡
在消费微服务中用Ribbon 实现负载均衡,Ribbon先从eureka sever中获取服务列表。
Ribbon 通过负载均衡算法进行负载均衡,将请求转发到其他微服务,
这里贴一下Spring Cloud Ribbon的简介:


-------------------实战测试方面后面补上
6.容错保护

了解下hystrix:

在服务消费方添加hystrix
Maven依赖:

使用hystrix实现容错:

要在Spring boot的启动类上添加@EnableHystrix注解;
7.服务网管
了解下Spring Cloud Zuul:

1.部署用户信息服务A、单点登陆服务B,每个服务至少两台机器;
2.将用户信息服务A、单点登陆服务B注册到EurekaSever中;
3.开发并部署zuul。
引入Maven依赖:

4.在zuul中配置网关路由


先写一个过滤器:

5.可以定义filter,需要集成zuul提供的filter类,进行校验拦截
6.在Spring boot启动类中配置注解

7.根据上面的路由配置访问微服务

凡是以/sso/打头的请求,全都路由到 单点登陆 的微服务;
![]()
总结:zuul网关,不仅提供对外服务访问,微服务也可以通过zuul请求其他的微服务

收尾:对着课程目标回顾下

本文介绍SpringCloud微服务架构的关键技术,包括服务治理、负载均衡、容错保护和服务网关等内容。通过实例演示如何搭建Eureka Server实现服务注册与发现,并利用Ribbon和Hystrix实现负载均衡及服务调用的容错处理。

8227

被折叠的 条评论
为什么被折叠?



