spring cloud微服务搭建第一天
martin fowler大神提出微服务的概念后,各种微服务的技术满天飞,现在用的比较多的是spring cloud和阿里的dubbo,由于dubbo
在16年10月份就停止更新了,这里我们讲解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文件夹下面
spring cloud微服务搭建第一天的更多相关文章
- spring cloud微服务搭建(一)
martin fowler大神提出微服务的概念后,各种微服务的技术满天飞,现在用的比较多的是spring cloud和阿里的dubbo,由于dubbo 在16年10月份就停止更新了,不过好像前些天又更 ...
- 【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. 这种 ...
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...
- Spring Cloud 微服务五:Spring cloud gateway限流
前言:在互联网应用中,特别是电商,高并发的场景非常多,比如:秒杀.抢购.双11等,在开始时间点会使流量爆发式地涌入,如果对网络流量不加控制很有可能造成后台实例资源耗尽.限流是指通过指定的策略削减流量, ...
- Spring Cloud微服务学习笔记
Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...
- Spring Cloud 微服务
https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247486301&idx=2&sn=f6d45860269b61 ...
随机推荐
- IOS推送--之开发模式测试
参考文章:http://blog.csdn.net/showhilllee/article/details/8631734#comments 第一步.下载你工程的开发证书 第二步.从钥匙串访问中导出秘 ...
- mac压缩文件乱码
http://blog.b3inside.com/apple/solve-file-name-garbled-with-betterzip/
- Unity 3D Framework Designing(4)——设计可复用的SubView和SubViewModel(Part 2)
在我们设计和开发应用程序时,经常要用到控件.比如开发一个客户端WinForm应用程序时,微软就为我们提供了若干控件,这些控件为我们提供了可被定制的属性和事件.属性可以更改它的外观,比如背景色,标题等, ...
- UNIX基础上
时光飞逝,转眼已经毕业快2年了,觉得自己学的东西多却不精.对此深深的思考一下,觉得有必要连载unix环境编程文章,以此激励自己学习.在此立贴为证,2天一篇博客从零开始阐述unix的环境编程. 参考书籍 ...
- Java环境----JDK开发环境搭建及环境变量配置
1.啥是jdk? jdk的是java development kit的缩写,意思是java程序开发的工具包. jdk的版本,一共有三种,标准版(j2se),企业版(j2ee),移动设备版(j2me). ...
- json解包与json封包
首先,对两个名词进行简单的说明: 1.NSData 用来存储二进制的数据类型.NSData类提供了一种简单的方式,它用来设置缓冲区.将文件的内容读入缓冲区,或将缓冲区的内容写到一个文件.不变缓冲区(N ...
- python_嵌套列表变成普通列表
如何把[1, 5, 6, [2, 7, [3, [4, 5, 6]]]]变成[1, 5, 6, 2, 7, 3, 4, 5, 6]? 思考: -- for循环每次都遍历列表一层 -- 把取出的单个值加 ...
- mock.js-无需等待,随机产生数据,让前端独立于后端进行开发
mock.js所做的 基于 数据模板 生成模拟数据. 基于 HTML模板 生成模拟数据. 拦截并模拟 ajax 请求. Mock.js官方网址:http://mockjs.com/ 1.Mock.js ...
- MySQL学习笔记(三)—索引
一.概述 1.基本概念 在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经 ...
- Spring基础学习(五)—事务管理
一.事务基本认识 1.事务的概述 为了保证数据库中数据的一致性,数据的操作应当是离散的成组的逻辑单元.当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应当全部视 ...