spring Boot+spring Cloud实现微服务详细教程第二篇
上一篇文章已经说明了一下,关于spring boot创建maven项目的简单步骤,相信很多熟悉Maven+Eclipse作为开发常用工具的朋友们都一目了然,这篇文章主要讲解一下,构建spring boot+spring cloud实现微服务的框架搭建过程,不过在此之前我们要先了解一下spring boot+spring cloud服务框架的功能组建和一些常提起的概念。
1:注册中心,spring boot+spring cloud使用Eureka作为服务的注册中心,早dubbo+zookeeper的微服务中也常使用zookeeper作为服务的注册中心
2:服务治理,和服务的调度
3:客户端负载均衡(包括常用的三种负载均衡策略)
4:服务远程调度的容错保护,即电路设计中所说到的保险丝(熔断机制)
5:spring cloud的声明式远程调度
6:服务路由和服务的转发
笔者这里个人感觉作为spring boot+spring cloud构建的微服务,熟悉上面几点的概念,然后带着框架的概念再去有点有面的看框架设计的本质,起全局性和概括性都了然于胸。
好了废话不多说下面我们开始创建spring boot+spring cloud的微服务吧。
(声明:JDK 1.8,spring boot:1.5.10.RELEASE,spring cloud:Edgware.SR2)
一:创建服务的注册中心
File---->new----->other

如下图,我们选择Eureka Discov,和Eure Server两个模块的组件。搭建完成我们来看一下搭建完成后,我们来看一下搭建好的项目目录结构,以及项目所使用到的maven组件间的相互依赖。
注:这里为什么要多啰嗦几句,来说明一下为什么,因为再使用maven作为jar包间的相互依赖,常常会出翔jar包版本的冲突,spring boot和spring cloud就有版本的冲突。不过Eclipse再我们选择spring Boot版本的时候就帮我们选定了最兼容的版本,这里小伙伴本要特别注意。不然踩到坑了你会很痛苦。所有在别人项目里跑的66的代码到你这里就变得四面楚歌。

这是项目的结果图,再上一篇文章中我们介绍过了,这里就不过多的介绍,我们看看注册中心的代码,如下,蓝色部分,需要我们加上注册中心的注解表示。@EnableEurekaServer

我们看看maven的jar包依赖

下面是,application.properties的配置文件。

为方便搭建的复制粘贴这里直接贴上代码如下,
#设置注册中心端口
server.port=8000
#注入的服务应用名称
spring.application.name=registry-center
#安全认证
security.basic.enabled=true
security.user.name=top-registry-center
security.user.password=123456
security.user.role=admin
eureka.instance.hostname=peer1
#关闭注册中心,注册自己到本地服务
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注册中心控制台地址
#eureka.client.serviceUrl.defaultZone=http://114.55.73.147:18020/eureka/
#无关紧要的注册中心配置信息,标记注册中心的健康信息
eureka.instance.statusPageUrlPath=/info
eureka.instance.healthCheckUrlPath= /health
下面我们,启动main方法
RegistryCenterApplication,如下所示,我们发现多了spring Boot App,我们选中启动

然后浏览器打开:输入local host:8000

最后补充一点,看看如下笔者另外的一个访问路径:peer1:8000,

这里是要配置windows的host主机名作为映射的。

如下所示:

我们看到127.0.0.1 localhost映射的就是我们的本机的地址
我们在这里多加一下peer1的注册中心地址配置
spring Boot+spring Cloud实现微服务详细教程第二篇的更多相关文章
- spring Boot+spring Cloud实现微服务详细教程第一篇
前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的5/6月份在上家公司学习了国内开源的dubbo+zookeeper实现的微服务的架构.自己平时对微服务的设 ...
- Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务
Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具:Spr ...
- Spring Boot 和 Docker 实现微服务部署
Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...
- Spring boot学习1 构建微服务:Spring boot 入门篇
Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- 使用Ratpack与Spring Boot构建高性能JVM微服务
在微服务天堂中Ratpack和Spring Boot是天造地设的一对.它们都是以开发者为中心的运行于JVM之上的web框架,侧重于生产率.效率以及轻量级部署.他们在服务程序的开发中带来了各自的好处.R ...
- 基于Spring Cloud的微服务入门教程
(本教程的原地址发布在本人的简书上:http://www.jianshu.com/p/947d57d042e7,若各位看官有什么问题或不同看法请在这里或简书留言,谢谢!) 本人也是前段时间才开始接触S ...
- (子文章)Spring Boot搭建两个微服务模块
目录 1. 创建工程和user-service模块 1.1 创建空工程 1.2 在空工程里新建Module 2. 配置文件 2.1 pom.xml 2.2 application.yml 3. 代码 ...
- spring boot 集成 zookeeper 搭建微服务架构
PRC原理 RPC 远程过程调用(Remote Procedure Call) 一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,R ...
- 在Azure DevOps Server中运行基于Spring Boot和Consul的微服务项目单元测试
1 概述 谈到微服务架构体系,绕不开服务发现这个功能.服务发现机制是简化微服务配置.实现容灾.水平扩缩容.提高运维效率的重要方式.在服务发现工具中,Consul在部署和使用方面与容器结合的天衣无缝,成 ...
随机推荐
- APICloud ajpush(极光推送) 6009
APICloud 其它的都按照APICloud的使用说明操作即可,但有一点需要提醒像我一样才接触的朋友:极光推送需打包测试,不能直接自定义Loader.否则,你会发现在绑定别名的方法时会一直返回&qu ...
- c#获取文件MD5算法
//获取文件MD5算法 private static string GetMD5FromFile(string fileName) { try { FileStream file = new File ...
- mysql 集群 监控
部署mysql高可用集群(mysql-mmm+主从同步)4台数据库服务器:四个数据库之保留初始的四个库,其他库全部删除 主机158 主机137 主机99 主机67 主机102(可与其他四台ping通即 ...
- nimi SearchEngin 项目思路及算法
最近做一个轻量文本搜索项目,在项目实行过程中,如果使用余弦求网页相似度,不能适应海量网页查重.看了那本<这就是搜索引擎 核心技术详解>后,对simhash算法有一定的理解,并且喜欢上了这 ...
- Flex读取txt文件中的内容(二)
Flex读取txt文件中的内容 自动生成的文件 LoadTxt-app.xml: <?xml version="1.0" encoding="utf-8" ...
- C#中的匿名函数使用,类名<T>
C#中有个叫做"泛型"的集合,就是说只是个外壳,到底是int,string,bool还是什么类型,都可以按照自己的要求进行定义集合,所以我们用个"T"表示. 请 ...
- MyEclipse10中配置WebLogic10
MyEclipse10中配置WebLogic10 1.双击打开MyEclipse10,依次操作"Window--->Preferences" 2.在左侧菜单中找到" ...
- freemarker.template.TemplateException:Error executing macro:mainSelect
1.错误描述 freemarker.template.TemplateException:Error executing macro:mainSelect require parameter:id i ...
- Caused by:java.sql.SQLException:ORA-00923
1.错误描述 Caused by:java.sql.SQLException:ORA-00923:未找到要求的FROM关键字 2.错误原因 拼接SQL语句时缺少FROM什么表,导致出错 3.解决办法 ...
- jquery Dialog弹框插件
function Dialog(options) { var defaults = { // 默认值. title: '', // 标题文本,若不想显示title请通过CSS设置其display为no ...