SpringCloud系列一:Springcloud介绍及注册中心搭建

一 什么是springcloud

    官网的说法:微服务架构集大成者,云计算最佳业务实践。

    百度百科的说法:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

二 springcloud和dubbo的比较

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。

dubbo由于是二进制的传输,占用带宽会更少。

springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大

dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决

springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级

dubbo的注册中心可以选择zk,redis等多种,springcloud的注册中心只能用eureka或者自研。

如果您也想关注dubbo,可以查看作者的dubbo教程系列: [https://blog.csdn.net/wx5040257/category_7113855.html]

 

三 搭建Eureka服务注册中心

Eureka介绍:Spring Cloud EurekaSpring Cloud Netflix 微服务套件的一部分,主要负责完成微服务架构中的服务治理功能。服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。本篇通过一个案例先来演示如何搭建注册中心,下一篇再叙述服务提供者,服务消费者并以此演示Eureka服务治理功能。

本文使用的开发工具是eclipse mars版,jdk1.8springboot1.5.9springcloud Camden版。

第一步,建立maven工程,如下图所示:

找到maven project

创建一个没有骨架的简单maven工程,如图:

输入group id和Artifact id,如图:

点击Finish完成。

 

第二步:编写代码

添加maven依赖,如下代码:

<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>com.wx</groupId>
  <artifactId>eureka_center</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<!-- 使用dependencyManagement进行版本管理 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Camden.SR6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>

	</dependencyManagement>

	<dependencies>
		<!-- 引入eureka server依赖 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<!-- 设置通过jdk1.8编译项目 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<!-- 拷贝resouce资源到output directory -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
<!-- 可通过maven命令运行项目和打包运行 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

这时候项目会报错,因为maven里配置的是jdk1.8,而eclipse建立工程用的是jdk 1.5,如图

可以用maven命令更新一下,如图所示:

编写springboot配置文件,如图所示:

这里注册中心是用的主机名的方式,也可以用ip地址,后面会讲到

创建启动类,如图:

这里最重要的是@EnableEurekaServer注解,用来指定该项目为Eureka的服务注册中心。

好了,注册中心搭建完毕,接下来运行一下吧,结果如下图:

 

如果想把注册中心放到远程主机运行,那么就先用maven命令打包: 项目上单击右键|Run as|Maven build…,如图:

把打包后的jar包上传到远程linux主机,如图所示:

启动命令运行:

查看远程主机名,如图:

在windows里面的hosts文件中添加一行,让本机能够识别远程主机,注意还要在linux远程主机上开放911端口。

在浏览器中访问,如图所示:

Ok,本篇重点讲述了Eureka服务注册中心。

 

 

猜你喜欢

转载自blog.csdn.net/wx5040257/article/details/108557971