本节主要介绍:springCloud概念、eureka服务中心搭建。。。
SpringBoot与SpringCloud的版本对应详细版:
学习博客:http://www.ityouknow.com/spring-cloud.html
一、简介
1、分布式服务架构(微服务架构)
目前主流实现:Dubbo+zookeeper和SpringBoot+Cloud
利用上述技术都可以将功能服务分散到不同服务器部署,然后实现服务间通信(调用)。
请求-->处理1-->处理2-->响应。意思可以将处理1和处理2做成独立服务分开部署,然后再进行RPC(Dubbo)或HTTP请求和响应模式(Cloud)交互。
Dubbo和Cloud的区别如下:
- Dubbo和Cloud服务调用机制不同,一个RPC、一个HTTP请求响应
- Dubbo一般和zookeeper结合管理服务,Cloud内置集成Eureka管理服务
- Cloud提供一套服务管理的完整方案、Dubbo需要跟其他技术集成使用。
- Cloud仅用于Rest服务管理、Dubbo是将组件服务化管理
微服务:
2、springCloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
- Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
- Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
- Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装
- Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用
- Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
- Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。
二、搭建SpringCloud服务中心(eureka)
步骤:
1. 创建一个springboot的maven工程,添加pom.xml依赖
<dependencies>
<!-- springcloud-eureka-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
2. application.properties中追加eureka参数定义
# server
server.port=7777# eureka
# 当前的项目是否要作为一个服务注册到容器中
eureka.client.registerWithEureka=false
# 当前的服务工程是否要作为一个服务调用者 这里只是一个单纯的服务中心,它既不参与注册也不参与调用
eureka.client.fetchRegistry=false
# 服务中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:7777/eureka
3. 主启动类,使用@EnableEurekaServer启动eureka服务器
//启动eureka服务器
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerBootApplication { public static void main(String[] args) {
SpringApplication.run(EurekaServerBootApplication .class, args);
}}
4.启动应用,访问http://localhost:7777/,出现如下页面,则eureka服务搭建成功。