本文主要讲解微服务架构简介,微服务框架SpringCloud服务注册与发现。后续陆续推出系列文章。
1 什么是微服务
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户 提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP 的RESTful API)。
2 微服务架构优缺点
3 什么是SpringCloud
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。
4 SpringCloud之服务注册与发现
(1)新建一个SpringBoot项目(Spring Cloud 基于 Spring Boot)
依赖:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</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>
(2)启动类上加上注解 @EnableEurekaServer
使用该注解,可以将项目作为SpringCloud中的注册中心
(3)配置SpringCloud
server.port=8761
#服务名
spring.application.name=eureka-server
#表示是否从Eureka Server获取注册的服务信息
eureka.client.fetch-registry=false
#服务注册中心地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
#表示是否将自己注册到Eureka Server
eureka.client.register-with-eureka=false
(4)启动服务
5 总结
好了,到此服务注册中心已经搭建完成,下节讲解如何注册服务到Eureka注册中心。