* 打开`microservice-provider-user`项目,并在`pom.xml`中新增以下依赖:
~~~xml
<!-- 新增依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
~~~
* 修改`App.java`:
~~~java
package com.shiyanlou;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import java.math.BigDecimal;
import java.util.stream.Stream;
@SpringBootApplication
@EnableDiscoveryClient
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
@Bean
ApplicationRunner init(UserRepository repository){
return args -> {
User user1 = new User(1L, "account1", "张三", 20, new BigDecimal(100.00));
User user2 = new User(2L, "account2", "李四", 28, new BigDecimal(180.00));
User user3 = new User(3L, "account3", "王五", 32, new BigDecimal(280.00));
Stream.of(user1, user2, user3)
.forEach(repository::save);
};
}
}
~~~
* 新增 Eureka Client 相关配置:
~~~yaml
# 新增配置
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/
instance:
prefer-ip-address: true
~~~
简单介绍一下以上配置:
1. eureka.client.serviceUrl.defaultZone:表示 Eureka Server 的交互地址,此前已经在 Eureka Server 中配置该 defaultZone。
2. eureka.instance.prefer-ip-address:表示将自身服务器的 IP 地址注册到 Eureka Server 中。如果不配置或者设置为 false,则将会将服务器的 hostname 注册到 Eureka Server 中。
* 重启服务
如果此前正在运行该服务,请先停止该服务器。
~~~bash
mvn spring-boot:run
~~~
当出现一下日志则表示服务已经启动完成:
~~~txt
2019-03-15 20:52:11.887 INFO 15232 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8000 (http) with context path ''
2019-03-15 20:52:11.888 INFO 15232 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8000
2019-03-15 20:52:11.892 INFO 15232 --- [ main] .c.m.MicroserviceProviderUserApplication : Started MicroserviceProviderUserApplication in 12.96 seconds (JVM running for 13.407)
2019-03-15 21:51:09.615 INFO 29321 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-PROVIDER-USER/terransforce:microservice-provider-user:8000 - registration status: 204
~~~
- 微服务开发框架 SpringCloud
- 单体应用
- 如何解决单体应用架构中存在的问题
- 如何实现微服务架构以及技术选型
- Spring Cloud 特点
- 开始使用 Spring Cloud 实战微服务
- 快速搭建开发脚手架
- 编写服务提供者-用户微服务
- 编写服务消费者【电影微服务】
- 整合 Spring Boot Actuator
- 开始整合
- 微服务注册与发现
- 编写服务发现服务
- 注册微服务至 Eureka Server
- 更新服务提供者 (用户微服务)
- 更新服务消费者 (电影微服务)
- 查看注册结果
- Ribbon 客户端负载均衡
- Ribbon 简介
- 引入 Ribbon
- Ribbon 入门
- Feign 声明式 REST 调用
- 改造项目
- Hystrix 容错处理
- 实现容错的手段
- Hystrix 简介
- 开始使用
- 测试
- Zuul 网关
- 网关是什么
- Spring Cloud Zuul 介绍
- Zuul 入门使用
- 网关测试
- Spring Cloud Config 配置管理
- 配置中心的作用
- Spring Cloud Config 简介
- Spring Cloud Config 使用
- Sleuth 与 Zipkin 结合图形化展示
- 分布式追踪相关基础概念
- Spring Cloud Sleuth 介绍及使用
- Zipin 简介
- Docker 入门
- 云原生概念
- Docker 容器介绍
- Docker 常用命令
- 微服务运行在 Docker 之上
- Dockerfile 及其常见指令介绍
- 改造 Eureka Server 微服务
- Docker Compose 编排微服务
- 安装 Compose
- Compose 快速入门
- Compose 编排 SpringCloud微服务
- 将 Eureka 等微服务运行在 Docker 容器中
- Docker-Compose 编排文件的编写
- 通过 Docker Compose 启动、停止
- Compose编排Spring Cloud微服务2
- Docker-Compose 来部署一个双节点的 Eureka 集群
