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等,在开始时间点会使流量爆发式地涌入,如果对网络流量不加控制很有可能造成后台实例资源耗尽.限流是指通过指定的策略削减流量, ...
随机推荐
- hibernate 延迟加载和抓取策略
一.延迟加载 1.简单查询get,load 针对对象本身延迟或即时 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load ...
- L133
The U.S. Food and Drug Administration is considering a ban on flavorede-cigarettes in response to an ...
- jsp的组成和执行过程
jsp由以下五个组成: Html静态页面 指令: <%@ xxx %> 小脚本:<% xxx %> 表达式:<% = %> 声明: &l ...
- 用 WEKA 进行数据挖掘 ——第一章:简介
1.简介数据挖掘.机器学习这些字眼,在一些人看来,是门槛很高的东西.诚然,如果做算法实现甚至算法优化,确实需要很多背景知识.但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西.他们的精力,集中 ...
- Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)
不要心急,一点一点的进步才是最靠谱的. 读完本文你将了解: 前言 Message 如何获取一个消息 Messageobtain 消息的回收利用 MessageQueue MessageQueue 的属 ...
- Unity的Update() 和 FixedUpdate()的区别
Update() 和 FixedUpdate()在游戏中都会在更新的时候自动循环调用. 但是Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体 ...
- 【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔
原题地址:http://www.rqnoj.cn/problem/82 解题思路: 简单的动态规划 状态表示:DP[i][0]表示当前在第i层,且当前跳跃状态不可用,此时消耗的最短时间. DP[i ...
- HihoCoder 1097 kruscal
最小生成树二·Kruscal算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 随着小Hi拥有城市数目的增加,在之间所使用的Prim算法已经无法继续使用了——但是幸运的 ...
- Jetty服务怎么配置,如何发布项目
Jetty相对于Tomcat来时相对较轻,适合多并发且有较多实时通讯的系统,能够稳定的保持连接且占用资源相对较少.今天就简单介绍一下Jetty的配置及项目部署. 工具/原料 Jetty 电脑 Jett ...
- fpga产生伪随机序列
1,一位模二加法法则:加减法等同于异或,没有进位. 2,将移位寄存器的某几级作为抽头进行模二加法后作为反馈输入,就构成了有反馈的动态移位寄存器.此方法产生的序列是有周期的. 3,假设移位寄存器的级数为 ...