springcloud-microservice

Spring Cloud 快速搭建微服务

spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,下面进行个服务分部搭建源码与测试案例,此项目初于学习迭代商有待深入了解!

##目标微服务系统

组织结构

springcloud-microservice├── micro-eureka-server -- Netflix Eureka服务注册中心 [端口 8101]| ├── micro-service-example -- 服务消费(模拟服务)|├── micro-serviceA -- 服务消费A[端口 8201] |├── micro-serviceB -- 服务消费B[端口 8202] ||———micro-loadbalanced-example --服务分发(负载均衡) |├── micro-ribbon-server --服务分发(rest+ribbon) [端口 8301] ||── micro-feign-server --服务分发(feign) [端口 8302] ||── micro-hystrix-example -- 服务分发(负载均衡)[断路器服务消费+(Hystrix)+(Hystrix 仪表盘)]|├── micro-ribbon-hystrix -- (ribbon+hystrix) [端口 8311] |├── micro-feign-hystrix -- (feign+hystrix) [端口 8312]||── micro-route-zuul --路由网关(zuul) [端口 8401] ||── micro-config -- 分布式配置中心(高可用的分布式配置中心)(Spring Cloud Config)|├── micro-config-client --配置中心服务端Config Server [端口 8401] ||── micro-config-server --配置中心服务端Config Client [端口 8402] ||── micro-sleuth-samples -- 服务链路追踪(Spring Cloud Sleuth)|├── micro-server-zipkin --zipkin数据收集中心 [端口 8501] ||── micro-zipkin-serverA --模拟暴露服务A [端口 8502] ||── micro-zipkin-serverB --模拟暴露服务B [端口 8503] ||── micro-eureka-server-cluster --高可用的服务注册中心 (micro-eureka-server-cluster 多分配置)||── eureka-server-cluster --Eureka注册中心 [端口 8111] ||── eureka-server-cluster --Eureka注册中心 [端口 8112] 

更新记录:

  • 2017年8月24日 23:45:15 迁移GitHub和阿里存储结构迁移(目前只在oschina上更新开放)
  • 2017年8月25日 22:45:15 搭建基本结构加入Netflix Eureka 服务注册中心
  • 2017年8月26日 15:20:14 Eureka源码解析,服务注册、续约 、获取、下线、剔除~
  • 2017年8月28日 23:03:04 接入模拟服务,Netflix Ribbon实现客服端负载均衡
  • 2017年8月29日 01:15:46 路由网关(Netflix Zuul),鉴权,接口流控
  • 2017年8月30日 23:30:02 分布式配置中心(Spring Cloud Config),Git远程仓库配置,版本问题spring-cloud 老版本Brixton.SR4版本已升级到 Dalston.SR2
  • 2017年9月1日 20:56:02 高可用的分布式配置中心在micro-config节点上进行修改,将配置客户端和服务端都配置到注册中心统一管理服务
  • 2017年9月2日 16:51:12 分布式服务追踪收集
  • 2017年9月4日 22:17:30 高可用的服务注册中心(感觉针对服务应用价值不大,服务案例已完善仅供学习参考)

开发目录视图

迭代更新

模块清单

  • Netflix Eureka服务注册中心
  • 服务消费 (模拟服务)
  • 服务分发(负载均衡)
  • 服务分发(负载均衡)[断路器服务消费+(Hystrix)+(Hystrix 仪表盘)]
  • 路由网关(zuul)
  • 分布式配置中心(Spring Cloud Config)
  • 分布式配置中心(高可用的分布式配置中心(Spring Cloud Config))
  • 消息总线(Spring Cloud Bus)
  • 服务链路追踪(Spring Cloud Sleuth)
  • 高可用的服务注册中心

配置中心

  • 远程Git GitHub仓库 配置中心 https://github.com/lishangzhi/SpringCloud-Config
  • 远程Git osChina仓库配置中心 https://git.oschina.net/lishangzhi2012/spring-cloud-config

已完成模块简介(参考官网给出的图加以理解)

  • #服务发现——Netflix Eureka
  • #客服端负载均衡——Netflix Ribbon
  • #断路器——Netflix Hystrix
  • **#服务网关——Netflix Zuul **

### 中文官网 [Spring Cloud中文网-官方文档中文版](https://springcloud.cc/)

整体进度与计划

git地址:https://gitee.com/icloud-iot/springcloud-microservice

springcloud官方文档_springcloud-microservice 快速构建分布式系统相关推荐

  1. 《Redis官方文档》用Redis构建分布式锁

    <Redis官方文档>用Redis构建分布式锁 用Redis构建分布式锁 在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段. 有很多三方库和文章描述如何用Redis实现 ...

  2. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践

    目前大多数项目都是以微服务架构设计,以前后端分离技术解耦前端开发工程师和后端开发工程师的工作量,这样一来前后端的对接将是一项重要的沟通工作量,如果后端没有一个合适的API文档,那么这样的前后端对接将是 ...

  3. springcloud官方文档_通俗易懂!Spring Cloud简介:官方文档翻译版

    什么是微服务? "微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通 ...

  4. jeecg-boot 官方文档v2.0快速开始之hello world 前端教程

    jeecg-boot 官方文档 快速开始之hello word 前端踩过的坑 前端新建vue  helloworldTest文件,若新建文件无vue选项,请先在idea 上按装vue 插件 2. 新建 ...

  5. Django入门 | 官方文档带你快速入门

    初识 Django 设计模型 应用数据模型 享用便捷的 API 一个动态管理接口:并非徒有其表 规划 URLs 编写视图 设计模板 这仅是基本入门知识 快速安装指南 安装 Python 设置数据库 安 ...

  6. springcloud官方文档,中英文双版

    建议先理解英文,自我翻译,疑难句对照中文. 版本 Version: Greenwich.SR5 英文 来自官网 spring.io 下载地址:Spring Cloud_en.md 中文 来源:来自sp ...

  7. 《Redis官方文档》用Redis构建分布式锁(悲观锁)

    2019独角兽企业重金招聘Python工程师标准>>> **用Redis构建分布式锁 ** 在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段. 有很多三方库和文章 ...

  8. Detectron2 官方文档详细解读 (上)

    Detectron2解读全部文章链接: Facebook计算机视觉开源框架Detectron2学习笔记 - 从demo到训练自己的模型 Detectron2 "快速开始" Dete ...

  9. 《Log4j 2 官方文档》多余性(Additivity)

    如果我们希望输出com.foo.Bar的TRACE等级的日志,而不像影响其他日志的输出.简单的改变日志等级是不能达到我们想要的目的:但是修改也很简单,只要我们添加一个新的Logger定义就可以达到目标 ...

最新文章

  1. 互联网协议入门 : 用户 ------ 底层
  2. mysql索引实现原理
  3. react取消捕获_React学习笔记(三)
  4. 开始投靠C#,入门版(一)
  5. ecshop 全站内页 显示最新文章
  6. 年轻时听到别人金钱至上的话语
  7. 使用 SqlDataSource 控件查询数据47
  8. Netflix是如何针对云构建和部署代码的
  9. Telink/BDT使用说明
  10. 形容词和指示代词-this、that、thses、those_31
  11. 套件端口 群晖_群晖套件重装过程中提示端口被占用的解决方案
  12. win10系统崩溃怎么修复_系统崩溃!win10系统修复和数据恢复方法总结
  13. 科普:股票价格为什么会高开?
  14. Delphi 10.3.1 TNetHttpClient在多线程中存在的问题及解决方法。
  15. ABP框架Web API跨域问题的解决方案
  16. 正版手机应用导航,排排坐网站的初衷
  17. ps中图层放到顶层的快捷键是什么?
  18. Mybatis 出现The error may involve defaultParameterMap
  19. Unity3D游戏编程-鼠标打飞碟
  20. 汽车学堂PID控制的车道保持系统

热门文章

  1. mysql关系数据库_关系型数据库MySql简介
  2. Python中的枚举(enumerate)
  3. Python 对字典循环遍历的两种方式
  4. Spring Data Jpa出现“Table ‘XXX.hibernate_sequence‘ doesn‘t exist”
  5. pythonplot画多图间隔,matplotlib实现一页多图
  6. Apache Log4j2远程JNDI代码执行漏洞修复
  7. Could not create a validated object, cause: ValidateObject failed
  8. Linux系统内存还有剩余就开始使用swap交换区了
  9. php根据下标倒序排,PHP的三种排序方式
  10. mybaties :required string parameter ‘XXX‘is not present