没有合适的资源?快使用搜索试试~ 我知道了~
首页SpringCloud学习文档V2.0.pdf
SpringCloud学习文档V2.0.pdf

Spring Cloud是一个含概多个子项目的开发工具集,集合了众多的开源框架,他利用了Spring Boot开发的便利性实现 了很多功能,如服务注册,服务注册发现,负载均衡等.Spring Cloud在整合过程中主要是针对Netflix(耐非)开源组件的 封装. NetFlix 是美国的一个在线视频网站,微服务业的翘楚,他是公认的大规模生产级微服务的杰出实践者,NetFlix的开源 组件已经在他大规模分布式微服务环境中经过多年的生产实战验证,因此spring cloud中很多组件都是基于NetFlix组 件的封装 Spring Cloud的出现真正的简化了分布式架构的开发
资源详情
资源评论
资源推荐

3.什么是微服务
微服务架构就是将单一程序开发成一系列微小服务,每个微服务运行在自己的进程中,并使用轻量级的机制通信,
通常是HTTP RESTFUL API。这些服务围绕业务能力来划分,并通过自动化部署机制来独立部署。这些服务集中管
理,可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。
每个服务可独立运行在自己的进程里
一系列独立运行的微服务共同构建起整个系统
每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理,用户管理
微服务之间通过一些轻量的通信机制进行通信,例如Restful API进行调用
可以使用不同的语言与数据存储
官网链接:https://www.martinfowler.com/articles/microservices.html
4.微服务的解决方案
5.什么是springcloud
Spring Cloud是一个含概多个子项目的开发工具集,集合了众多的开源框架,他利用了Spring Boot开发的便利性实现
了很多功能,如服务注册,服务注册发现,负载均衡等.Spring Cloud在整合过程中主要是针对Netflix(耐非)开源组件的
封装.
NetFlix 是美国的一个在线视频网站,微服务业的翘楚,他是公认的大规模生产级微服务的杰出实践者,NetFlix的开源
组件已经在他大规模分布式微服务环境中经过多年的生产实战验证,因此spring cloud中很多组件都是基于NetFlix组
件的封装
Spring Cloud的出现真正的简化了分布式架构的开发
6.springcloud的特点
服务注册和发现
路由
service - to - service调用
负载均衡
断路器

7.Spring Cloud 的服务架构图
8.Eureka组件
Eureka是Netfilx开源的服务发现组件,本身是一个基于rest的服务,它包含client和server两部分。
Spirng Cloud将它集成在子项目Spirng Cloud Netfilx中,从而实现服务的注册和发现
1.eureka中的server和client的介绍及特点
Eureka Server:提供服务发现的能力,各个微服务启动时,会向Eureka Server注册自己的信息例如(IP,端口
号,服务名称等),Eureka会存储这些信息
Eureka Client:是一个java的客户端用来简化Eureka Server的交互
微服务启动后会周期性的(默认30秒)向Eureka Server发送心跳,如果Eureka在规定的时间没有收到心跳,
则会注销该实例(默认90秒)
Eureka Client会缓存服务注册表中的信息。这种方式有一定的优势首先可以降低Eureka Server的压力,其次
当所有的Eureka Server宕机服务调用方依然可以完成调用
2.服务注册与服务发现
服务注册:当微服务client启动时,向Eureka Server发起注册,并上报该节点的相关信息
服务发现:client从Eureka Server获取注册信息,然后发起调用
3.Eureka Server开发
1.引入springcloud的相关依赖

2.入口类的开发
3.配置文件
<!--仓库的位置-->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!--引入版本号-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RC1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!--eureka server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
//@EnableDiscoveryClient //不仅支持Eureka作为注册中心还支持zookeeper
@EnableEurekaServer //只支持Eureka
@SpringBootApplication
public class EurekaServer {
public static void main(String[] args) {
SpringApplication.run(EurekaServer.class,args);
}
}
#设置eureka server 的交互地址,之后的服务获取和服务注册都需要依赖于这个地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
#表示是否将自己注册到eureka上
eureka.client.register-with-eureka=false
#表示是否从eureka server上获取注册信息

4.Eureka Client的开发
1.jar包和Server相同
2.入口类
3.配置文件
5.Eureka client之间的相互调用
1.导入相关的jar
2.java配置RestTemplate
eureka.client.fetch-registry=false
#应用服务名 微服务服务名
spring.application.name=eureka-server
#端口号
server.port=8761
将spring-cloud-starter-eureka-server改为spring-cloud-starter-eureka
@EnableDiscoveryClient
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
#注册中心的地址 声明
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
#微服务实例名
spring.application.name=eureka-client1
#端口号
server.port=8762
和eureka server 一致
剩余25页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1