上一篇文章已经说明了一下,关于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. html、text、val、attr、prop区别。this.value和$(this).val()区别以及return用法

    html(): html() 方法返回或设置被选元素的内容 (inner HTML). 当使用该方法读取多个值时,它会返回第一个匹配元素的内容. 当使用该方法设置一个值时,它会覆盖所有匹配元素的内容. ...

  2. qwe 简易深度框架

    qwe github地址 简介 简单的深度框架,参考Ng的深度学习课程作业,使用了keras的API设计. 方便了解网络具体实现,避免深陷于成熟框架的细节和一些晦涩的优化代码. 网络层实现了Dense ...

  3. Ubuntu的shell之bash和dash

    Ubuntu的 shell 默认安装的是 dash,而不是 bash. 运行以下命令查看 sh 的详细信息,确认 shell 对应的程序是哪个: $ls -al /bin/sh dash 比 bash ...

  4. HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同

    1. 首先我们来看HeapAlloc: MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来, ...

  5. nginx重写rewrite的[emerg] unknown directive

    今天写nginx的重写规则.怎么写总是报这个错误.

  6. php session 和cookie

    先简单的说明下session和cookie的区别. 1.session存放在服务器的文件中,或者是内存中.而cookie存在客服端. 2.session比cookie安全 3.session存放在服务 ...

  7. 新工具︱微软Microsoft Visual Studio的R语言模块下载试用Ing...(尝鲜)

    笔者:前几天看到了以下的图片,着实一惊.作为R语言入门小菜鸟,还是觉得很好看,于是花了一点时间下载下来试用了一下,觉得还是挺高大上的. 就是英文不好是硬伤.下面贴给小白,我当时的下载步骤与遇见的问题. ...

  8. PCI-E配置MSI中断流程解析

    在传统的pci中断体系中,每一个pci总线上的设备被分配一个特定的中断号,然后当设备需要中断cpu时,设备直接发出int信号,然后在cpu的inta引脚拉低的时候将自己的中断号放在数据总线上,一切都要 ...

  9. 如何创建Filter的属性页

    本篇文档我们将要讲述如何给一个filter创建一个属性页,通过CBasePropertyPage基类.这篇文档的实例代码演 示了创建属性页的步骤,这里我们假设我们要创建属性页的视频filter支持饱和 ...

  10. spring+jidi读取property的配置文件

    在Spring项目中,你可能需要从properties文件中读入配置注入到bean中,例如数据库连接信息,memcached server的地址端口信息等,这些配置信息最好独立于jar包或者war包, ...