springcloud记录篇1-eurekaserver
2017-09-21 12:06
579 查看
一。 SpringCloud简介
Spring Cloud对Netflix的多个开源组件封装而成,同时又实现了和云端平台,和Spring Boot开发框架很好的集成。
Spring Cloud是一个相对比较新的微服务框架,今年(2016)才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。
Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全居琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接
Spring Cloud版本是使用英国城市来定义一个版本号 Dalston为稳定版本
二 。启动简单的eurekaserver
eurekaserver是一个类似于zookeeper的分布式调度中心 用于注册节点和发现节点信息
1》准备工作:
下载 spring开发工具 sts 进入官网(http://projects.spring.io/spring-cloud/) 拉动到网页最下端 页脚栏 Tools点击(https://spring.io/tools)
下载sts(http://download.springsource.com/release/STS/3.9.0.RELEASE/dist/e4.7/spring-tool-suite-3.9.0.RELEASE-e4.7.0-win32-x86_64.zip)
2》创建springcloud项目
包视图 new - spring starter project
填写maven的 公司名称 项目名等
点击下一步 选择Cloud Discory - Eureka Server
完成创建的项目中 pom.xml自动添加eureka的maven依赖
3》创建资源文件
src/main/resources 下创建application.yml文件 内容如下
添加启动类
启动后访问 http://localhost:8761 这里管理界面只允许localhost访问 不允许使用ip
三。设置eurekaserver权限
src/main/resources下创建 application.yml文件 添加权限认证
maven中添加依赖
浏览器访问 http://localhost:8761
输入 用户名和密码后后 可以看到管理界面
四。eurekaserver高可用
这里添加 一主一丛
eurekaserver 本机ip为 192.168.88.20 主机名 mymaster 端口 8761
eurekabackup 本机ip为 192.168.88.20 主机名 mybackup 端口 8762
hosts文件中添加
同上 创建两个eureka server项目
eurekaserver的application.yml配置
查看 http://localhost:8761
因为我的设置中 appname设置的不一样导致从 不可用 所以 需要将主从项目的appname设置为相同的名称
修改eurekabackup配置
查看 http://localhost:8762
Spring Cloud对Netflix的多个开源组件封装而成,同时又实现了和云端平台,和Spring Boot开发框架很好的集成。
Spring Cloud是一个相对比较新的微服务框架,今年(2016)才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。
Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全居琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接
Spring Cloud版本是使用英国城市来定义一个版本号 Dalston为稳定版本
Component | Camden.SR7 | Dalston.SR3 | Edgware.M1 | Finchley.M2 | Finchley.BUILD-SNAPSHOT |
spring-cloud-aws | 1.1.4.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-bus | 1.2.2.RELEASE | 1.3.1.RELEASE | 1.3.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-cli | 1.2.4.RELEASE | 1.3.4.RELEASE | 1.4.0.M1 | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-commons | 1.1.9.RELEASE | 1.2.3.RELEASE | 1.3.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-contract | 1.0.5.RELEASE | 1.1.3.RELEASE | 1.2.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-config | 1.2.3.RELEASE | 1.3.2.RELEASE | 1.4.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.2.7.RELEASE | 1.3.4.RELEASE | 1.4.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-security | 1.1.4.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry | 1.0.1.RELEASE | 1.1.0.RELEASE | 1.1.0.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-consul | 1.1.4.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-sleuth | 1.1.3.RELEASE | 1.2.4.RELEASE | 1.3.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-stream | Brooklyn.SR3 | Chelsea.SR2 | Ditmars.M2 | Elmhurst.M1 | Elmhurst.BUILD-SNAPSHOT |
spring-cloud-zookeeper | 1.0.4.RELEASE | 1.1.2.RELEASE | 1.2.0.M1 | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-boot | 1.4.5.RELEASE | 1.5.4.RELEASE | 1.5.6.RELEASE | 2.0.0.M3 | 2.0.0.M3 |
spring-cloud-task | 1.0.3.RELEASE | 1.1.2.RELEASE | 1.2.0.RELEASE | 2.0.0.M1 | 2.0.0.RELEASE |
spring-cloud-vault | | 1.0.2.RELEASE | 1.1.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-gateway | | | 1.0.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT |
eurekaserver是一个类似于zookeeper的分布式调度中心 用于注册节点和发现节点信息
1》准备工作:
下载 spring开发工具 sts 进入官网(http://projects.spring.io/spring-cloud/) 拉动到网页最下端 页脚栏 Tools点击(https://spring.io/tools)
下载sts(http://download.springsource.com/release/STS/3.9.0.RELEASE/dist/e4.7/spring-tool-suite-3.9.0.RELEASE-e4.7.0-win32-x86_64.zip)
2》创建springcloud项目
包视图 new - spring starter project
填写maven的 公司名称 项目名等
点击下一步 选择Cloud Discory - Eureka Server
完成创建的项目中 pom.xml自动添加eureka的maven依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.et</groupId> <artifactId>eurekapub</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>eurekapub</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.7</java.version> <spring-cloud.version>Dalston.SR3</spring-cloud.version> </properties> <dependencies> <dependency> #引用eureka <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-actuator</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
3》创建资源文件
src/main/resources 下创建application.yml文件 内容如下
#eureka服务器的启动端口 server: port: 8761 #eureka的主机名 如果不配置 会从操作系统获取 eureka: instance: hostname: mymaster preferIpAddress: true #未配置hostname时 使用本机ip地址作为主机名 ipAddress是ip地址 instance-id: ${spring.cloud.client.ipAddress}:${server.port} appname: eurekaserver #应用程序的名称 namespace: myeureka 对外公布地址时的命名空间也就是上下文路径 不设置默认为eureka client: registerWithEureka: false fetchRegistry: false #是否允许客户端抓取eureka的注册信息 serviceUrl: defaultZone: http://mymaster:8761/myeureka/ security: basic: enabled: false #不启动认证
添加启动类
package cn.et; import java.io.InputStream; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer //表示启用EurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication sa=new SpringApplication(EurekaServerApplication.class); sa.run(args); } }
启动后访问 http://localhost:8761 这里管理界面只允许localhost访问 不允许使用ip
三。设置eurekaserver权限
src/main/resources下创建 application.yml文件 添加权限认证
#eureka服务器的启动端口 server: port: 8761 #eureka的主机名 如果不配置 会从操作系统获取 eureka: instance: hostname: mymaster preferIpAddress: true #未配置hostname时 使用本机ip地址作为主机名 ipAddress是ip地址 instance-id: ${spring.cloud.client.ipAddress}:${server.port} appname: eurekaserver namespace: myeureka client: registerWithEureka: false fetchRegistry: false #是否允许客户端抓取eureka的注册信息 serviceUrl: defaultZone: http://jiaozi:jiaozi123@mymaster:8761/myeureka/ #这里url上必须带上用户名和密码 security: basic: enabled: true #启动认证 user: name: jiaozi #用户名 password: jiaozi123 #密码
maven中添加依赖
maven中添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>4.2.1.RELEASE</version> </dependency>
浏览器访问 http://localhost:8761
输入 用户名和密码后后 可以看到管理界面
四。eurekaserver高可用
这里添加 一主一丛
eurekaserver 本机ip为 192.168.88.20 主机名 mymaster 端口 8761
eurekabackup 本机ip为 192.168.88.20 主机名 mybackup 端口 8762
hosts文件中添加
192.168.88.20 mymaster 192.168.88.20 mybackup
同上 创建两个eureka server项目
eurekaserver的application.yml配置
#eureka服务器的启动端口 server: port: 8761 spring: application: name: eurekaserver #eureka的主机名 如果不配置 会从操作系统获取 eureka: instance: hostname: mymaster #可以通过修改 c:/windows/system32/drivers/etc/hosts文件 preferIpAddress: false #未配置hostname时 使用本机ip地址作为主机名 ipAddress是ip地址 instance-id: ${spring.cloud.client.ipAddress}:${server.port} appname: eurekaserver lease-expiration-duration-in-seconds: 5 lease-renewal-interval-in-seconds: 5 client: registerWithEureka: true #是否允许 注册到Eureka服务器 一般集群环境需要互相注册 fetchRegistry: true #是否允许客户端抓取eureka的注册信息 serviceUrl: defaultZone: http://jiaozi:jiaozi123@mymaster:8761/eureka/,http://jiaozi:jiaozi123@mybackup:8762/eureka/ #启动安全认证 浏览器访问 http://localhost:8761需要输入预定义的用户名和密码 security: user: name: jiaozi #用户名 password: jiaozi123 #密码 basic: enabled: true #启动认证eurekabackup的application.yml配置
#eureka服务器的启动端口 server: port: 8762 spring: application: name: eurekabackup #eureka的主机名 如果不配置 会从操作系统获取 eureka: instance: hostname: mybackup preferIpAddress: false #未配置hostname时 使用本机ip地址作为主机名 ipAddress是ip地址 instance-id: ${spring.cloud.client.ipAddress}:${server.port} appname: eurekabackup lease-expiration-duration-in-seconds: 5 lease-renewal-interval-in-seconds: 5 client: registerWithEureka: true #是否允许 注册到Eureka服务器 一般集群环境需要互相注册 fetchRegistry: true #是否允许客户端抓取eureka的注册信息 serviceUrl: defaultZone: http://jiaozi:jiaozi123@mybackup:8762/eureka/,http://jiaozi:jiaozi123@mymaster:8761/eureka/ #启动安全认证 浏览器访问 http://localhost:8761需要输入预定义的用户名和密码 security: user: name: jiaozi #用户名 password: jiaozi123 #密码 basic: enabled: true #启动认证两个项目添加 启动 类 分别启动
查看 http://localhost:8761
因为我的设置中 appname设置的不一样导致从 不可用 所以 需要将主从项目的appname设置为相同的名称
修改eurekabackup配置
eureka: instance: hostname: mybackup appname: eurekaserver启动
查看 http://localhost:8762
相关文章推荐
- SpringCloud(第 004 篇)用户服务类(添加服务注册,将用户微服务注册到 EurekaServer 中)
- Spring Cloud 的 Eureka Server 的 REST 端点
- spring-cloud的eurekaserver启动报错找不到主类
- spring-cloud入门(一):eureka-server(服务发现)
- spring cloud学习——12. Service Discovery: Eureka Server
- Spring Cloud Eureka Server 启停状态监控
- spring cloud eureka server 配置
- 学习Spring Cloud第六课(将微服务注册到Eureka Server上)
- SpringCloud系列 Eureka Server 汉化教程
- [Spring Cloud-01] eureka server 服务注册与发现
- (2-2)SpringCloud-服务注册到Eureka Server集群并消费
- Spring Cloud之Eureka Server高可用集群学习
- [bigdata-105] spring-cloud-02 服务注册 eureka server 双机高可用
- spring cloud中启动Eureka Server的方法
- spring cloud eureka server HA
- spring cloud之Eureka Server环境搭建
- Spring Cloud Eureka Server 高可用集群搭建
- spring-cloud-eureka (二) Client - Server 接口交互(消息发送)源码分析
- (01) SpringCloud: Eureka Server 搭建
- SpringCloud服务注册到Eureka Server