上一篇文章已经说明了一下,关于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实现微服务详细教程第二篇的更多相关文章

  1. spring Boot+spring Cloud实现微服务详细教程第一篇

    前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的5/6月份在上家公司学习了国内开源的dubbo+zookeeper实现的微服务的架构.自己平时对微服务的设 ...

  2. Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务

    Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具:Spr ...

  3. Spring Boot 和 Docker 实现微服务部署

    Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...

  4. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  5. 使用Ratpack与Spring Boot构建高性能JVM微服务

    在微服务天堂中Ratpack和Spring Boot是天造地设的一对.它们都是以开发者为中心的运行于JVM之上的web框架,侧重于生产率.效率以及轻量级部署.他们在服务程序的开发中带来了各自的好处.R ...

  6. 基于Spring Cloud的微服务入门教程

    (本教程的原地址发布在本人的简书上:http://www.jianshu.com/p/947d57d042e7,若各位看官有什么问题或不同看法请在这里或简书留言,谢谢!) 本人也是前段时间才开始接触S ...

  7. (子文章)Spring Boot搭建两个微服务模块

    目录 1. 创建工程和user-service模块 1.1 创建空工程 1.2 在空工程里新建Module 2. 配置文件 2.1 pom.xml 2.2 application.yml 3. 代码 ...

  8. spring boot 集成 zookeeper 搭建微服务架构

    PRC原理 RPC 远程过程调用(Remote Procedure Call) 一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,R ...

  9. 在Azure DevOps Server中运行基于Spring Boot和Consul的微服务项目单元测试

    1 概述 谈到微服务架构体系,绕不开服务发现这个功能.服务发现机制是简化微服务配置.实现容灾.水平扩缩容.提高运维效率的重要方式.在服务发现工具中,Consul在部署和使用方面与容器结合的天衣无缝,成 ...

随机推荐

  1. Apple 内购

    关于内购所需东西: 1.测试开发证书:需要打开in-app-purchase,绑定bundleid:com.aragon.TexasPoker 2.iTunes connect 里添加内购应用: 1& ...

  2. android判断网络是否可用

    private boolean isNetworkConnected(Context context) { ConnectivityMannger cManager = (ConnectivityMa ...

  3. (2018干货系列一)最新Java学习路线整合

    怎么学Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. 话不多说,直接上干货: ...

  4. windows下用pip安装软件超时解决方案

    以前介绍过ubuntu下更换更新源办法,详情见http://www.cnblogs.com/Alier/p/6358447.html 下面讲一下windows下面pip的配置更改,包括下载软件是超时错 ...

  5. simhash类的使用

    首先感谢作者yanyiwu贡献的开源项目https://github.com/yanyiwu/simhash. 在做项目过程中,翻了一遍<这就是搜索引擎  核心技术详解>这本书的查重算法, ...

  6. python3写入csv多一个空行

    今天用python3 写入csv 总是多一个空行,查阅python3文档,发现有一个参数可以设置.特此记录一下. with open('file.csv','a',newline='') as csv ...

  7. app_offline.htm的作用

    如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么"本网站正在更新"等等的信息可以建立一个叫app_ ...

  8. TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。

    1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/ ...

  9. 求助:关于sql如何统计时间的问题

    三.现在我们假设应用计时分为app应用和web应用,需要考虑如下几个方面: (1)多时间段(2)表中有冗杂数据 (3)用户是在web端和app端都登陆,这种类型的重复时间段只能取其一 存在数据: 存在 ...

  10. ListView 无 DataSource 依然用 DataPager 翻页

    ListView 有 DataSource 使用 DataPager 翻页ListView 无 DataSource 使用 DataPager 翻页问题描述点击两次才能翻页返回上一页,内容为空解决方法 ...