spring cloud微服务搭建(一)
martin fowler大神提出微服务的概念后,各种微服务的技术满天飞,现在用的比较多的是spring cloud和阿里的dubbo,由于dubbo
在16年10月份就停止更新了,不过好像前些天又更新了下,这里我们讲解spring cloud技术
dubbo源码地址:https://github.com/alibaba/dubbo
spring cloud源码地址:https://github.com/spring-cloud
组件有:注册中心+普通服务+断路器+服务网关+分布式追踪+性能监控+消息总线+配置中心
运用的java框架:Intellij idea + spring boot + mybatis + mysql + maven
官网文档:http://spring.io/docs/reference,主要用到了里面的spring boot,spring cloud netflix,spring cloud sleuth,spring cloud stream
spring cloud系列文章目标:记录自己的技术方便自己和其它人学习,不过推荐入门后多去看官方文档,技术最好也有淘汰的一天,锻炼自己的学习能力才是最重要的
一、注册中心
首先新建一个spring boot项目,访问https://start.spring.io/,命名目录名称和项目名称

点击下载,解压压缩包,打开项目,将修改maven的本地仓库地址,maven的远程仓库地址修改成阿里的maven地址,参考地址http://www.cnblogs.com/waterlufei/p/6498526.html
不改也可以主要是慢,有时候慢挺能锻炼人的耐心的哈
访问spring cloud的官网:http://projects.spring.io/spring-cloud/,将最新的版本控制copy下来

在项目的pom.xml中添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后在src/main/resources/application.properties中加入配置文件
spring.application.name=eureka-server
server.port=1111
#设置hostname
eureka.instance.hostname=localhost
#防止注册中心自我注册
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注册地址
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:1111/eureka/
然后在src/main/java/com/waterlufei/EurekaServerApplication中加入@EnableEurekaServer,作为注册中心的服务端启动
然后我们启动项目,访问localhost:1111

这样我们的注册中心就启动起来了
二、服务的注册与发现
跟刚刚一样我们创建一个名叫Service-A的spring boot项目,在pom.xml加入:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在配置文件src/main/resources/application.properties中加入
spring.application.name=service-A
server.port=2222
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:1111/eureka/
在主函数src/main/java/com/waterlufei/EurekaServerApplication
上面注解@EnableDiscoveryClient,作为注册中心的客户端启动并能发现其它服务,自己也能被别的服务发现
tomcat已经集成到dependency中了,启动项目,访问localhost:1111,发现服务A已经注册到注册中心了

如果有红色警告不用管它,这是提示eureka开启了安全模式,保护注册的实例,就是说如果服务A挂了,还是会在注册中心显示的
eureka默认开启安全模式可以关闭,在注册中心服务EurekaServer的配置文件中加入
eureka.server.enable-self-preservation=false关闭安全模式
现在我们访问localhost:2222

发现没有主页面,我们在resources文件夹下新建public文件夹,然后在public下面新建index.html,写入内容,重启服务A
访问localhost:2222

所以我们开发的时候,前端的页面可以放在resources/public文件夹下面
开源中国源码地址:https://git.oschina.net/wustxiabin/spring-cloud
github源码地址: https://github.com/waterlufei/spring-cloud
spring cloud微服务搭建(一)的更多相关文章
- spring cloud微服务搭建第一天
martin fowler大神提出微服务的概念后,各种微服务的技术满天飞,现在用的比较多的是spring cloud和阿里的dubbo,由于dubbo 在16年10月份就停止更新了,这里我们讲解spr ...
- 【spring colud】spring cloud微服务项目搭建【spring boot2.0】
spring cloud微服务项目搭建 =================================== 示例版本: 1.spring boot 2.0版本 2.开发工具 IntellJ IDE ...
- 只需五分钟-用Maven快速搭建Spring Cloud微服务
Maven安装手册 1.准备安装包 安装包: apache-maven-3.5.4-bin.zip (最好JDK 1.7及以上版本) 集成包: eclipse-maven3-plugin.zip 2 ...
- Spring Cloud微服务(一):公共模块的搭建
本demo后台采用spring cloud微服务,前端选用vue,进行前后端分离搭建.具体项目见git:光头才能强 创建文件夹,并分别创建以下jar工程 创建公共模块(后续有需要,还会增加).无论是d ...
- Spring Cloud微服务系列文,服务调用框架Feign
之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON. 这种 ...
- Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)
导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...
- Spring Cloud 微服务六:调用链跟踪Spring cloud sleuth +zipkin
前言:随着微服务系统的增加,服务之间的调用关系变得会非常复杂,这给运维以及排查问题带来了很大的麻烦,这时服务调用监控就显得非常重要了.spring cloud sleuth实现了对分布式服务的监控解决 ...
- Spring Cloud 微服务五:Spring cloud gateway限流
前言:在互联网应用中,特别是电商,高并发的场景非常多,比如:秒杀.抢购.双11等,在开始时间点会使流量爆发式地涌入,如果对网络流量不加控制很有可能造成后台实例资源耗尽.限流是指通过指定的策略削减流量, ...
随机推荐
- 纯css实现Magicline Navigation(下划线动画导航菜单)
看别人网站的时候,看到一种导航菜单的动画,觉得很有意思,就仔细研究起来. 目前见过的动画有三种:水平下划线动画导航.水平背景动画导航.垂直动画导航,他们实现思路都是一样的,都是依赖 css3的同级通用 ...
- 记录下jplayer的简单demo
jplay一个播放器的工具包,依赖于jquery或者zepto,有zepto所以相当于是PC和移动都支持. 它的官方文档为:http://www.jplayer.cn/ 同时也推出的react的支持包 ...
- jsp中的session
浏览器和服务器的异常通话 常用方法 setAttribute(String key,Object value);//设置值 getAttribute(String key); //取值 Invalid ...
- 微信小程序调微信支付
今天写小程序的支付接口,参照的当然是微信支付API了.(结尾附上第二步全部代码php版) 另外,我也参照了简书上的这篇文章,浅显易懂:https://www.jianshu.com/p/72f5c1e ...
- BZOJ - 3622:已经没有什么好害怕的了 (广义容斥)
[BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...
- Servlet中的Filter(过滤器)
Filter,过滤器,是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改 ...
- 【java规则引擎】规则引擎RuleBase中利用观察者模式
(1)当RuleBase中有规则添加或删除,利用观察者模式实现,一旦有变动,规则引擎其他组件也做出相应的改变.(2)学习思想:当一个应用中涉及多个组件,为了实现易扩展,解耦思想.可以利用观察者模式实现 ...
- 洛谷 P1561 [USACO12JAN]爬山Mountain Climbing
传送门 题目大意: n头牛,上山时间为u(i),下山为d(i). 要求每一时刻最多只有一头牛上山,一头牛下山. 问每头牛都上下山后花费最少时间. 题解:贪心 推了推样例,发现上山时间一定,那找个下山最 ...
- MySQL-5.7中InnoDB表数据文件存储位置
学习地址:https://www.cnblogs.com/tongxiaoda/p/7874535.html
- rbenv配置
git clone https://github.com/rbenv/rbenv.git ~/.rbenv # 用来编译安装 ruby git clone git://github.com/sstep ...