image
image

spring-cloud-study 微服务组件学习

https://github.com/moshowgame/spring-cloud-study
https://gitee.com/moshow/spring-cloud-study
↑ github+gitee同步更新

http://blog.csdn.net/moshowgame

这里写图片描述

这里写图片描述

工程名描述端口
spring-cloud-study-eureka服务发现与注册中心8888
spring-cloud-study-zuul动态转发路由器7777
spring-cloud-study-demoDEMO项目(含websocket,json,不含jpa)9999
spring-cloud-study-configcenter配置中心5555
spring-cloud-study-jpaJPA(hibernate实现)4444
spring-cloud-study-feign微服务远程调用6666


一、运行环境


- 版本:Spring-Cloud 2.0
- 环境:JDK1.8(8~10都可以)
- 编码:UTF-8
- IDE:Spring Tool Suit(STS)

 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
  </properties>

二、有关项目启动和配置的说明

  1. 最先启动的是spring-cloud-study-eureka,因为它是注册中心,大多数微服务必须依赖于它才能实现必要的功能。
  2. 接着zuul路由中心,启用spring-cloud-study-zuul,并配置yml文件即可(已经带了一点小配置,可根据实际情况修改)。
  3. 然后启用spring-cloud-study-demo,这是一个demo项目
  4. 可以启用spring-cloud-study-configcenter,这里可以从yml或者其他地方读取并统一配置变量
  5. 可以启用spring-cloud-study-jpa,配置一下yml里面数据库连接池的地址,默认是127.0.0.1:3306 root/root,
    启动项目可以自动建表,使用init方法可以自动初始化语句,无需自己动数据库
  6. 可以启动spring-cloud-study-feign,他会远程调用demo的内容

三、使用说明

eureka

注册中心这个优先启动,是一切微服务的基础也可以修改配置,进行集群,这里默认单机单例


http://127.0.0.1:8888/eureka注册中心

zuul

分发方式一,分发搭配/api1,修改yml就可以了,推荐用指定serviceId的
分发方式二,分发路由,直接根据serviceId访问,无需配置
转发的ServiceId是根据项目配置的spring:application:name: spring-cloud-study-demo 来的

http://127.0.0.1:7777/spring-cloud-study-demo/demo/index自动分发请求
http://127.0.0.1:7777/api2/demo/index路由转发请求到配置文件配置的/api2上
http://127.0.0.1:7777/api1/demo/socket/222路由转发请求到配置文件配置的/api1上

demo

正常的访问请求而已,返回json什么的
还支持websocket,对WebSocket不懂的可以看我这个文章https://blog.csdn.net/moshowgame/article/details/80275084

http://127.0.0.1:9999/demo/socket/222websocket请求页面
http://127.0.0.1:9999/demo/indexjson数据返回
http://127.0.0.1:9999/demosocket/222socket请求地址
http://127.0.0.1:9999/basepath获取微服务路径

configcenter

配置中心,用于读取公共配置文件

http://127.0.0.1:5555/getparam获取变量
http://127.0.0.1:5555/application/dev获取application-dev.yml的变量

jpa

已经脱离eureka,需要加入的话自己去掉pom和启动器的eureka相关注释即可。另外,只要数据库连接正常,启动项目可以自动建表,使用init方法可以自动初始化数据,无需自己动数据库

http://127.0.0.1:4444/jpa/user/init/8899初始化8899的用户
http://127.0.0.1:4444/jpa/user/roles/8899获取8899用户的角色

feign

feign用于远程调用微服务,这里用来调用demo的内容,请先启动eureka+demo再启动这个
具体配置可以看我的文章https://blog.csdn.net/moshowgame/article/details/80616624

http://127.0.0.1:9999/demo/getData/222?data=hahahha
http://127.0.0.1:6666/feign/remote/demo/getData/222?data=springcloudstudy远程调用demo
http://127.0.0.1:7777/spring-cloud-study-feign/feign/remote/demo/getData/222?data=springcloudstudybyzuul理由转发+远程调用demo

四、版本更新



20180609 update:
1.新增feign
2.优化说明
20180603 update:
1.新增jpa
2.优化调整
20180602 update:
1.优化调整
2.新增configcenter

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐