spring cloud构建分布式云架构-微服务

黑骑士1203 2020-11-11 17:30:29
spring 分布式 构建 Cloud 分布


1.鸿鹄Cloud框架选型-鸿鹄Cloud简介

鸿鹄Cloud使用大型互联网分布式企业微服务云架构(鸿鹄Cloud分布式微服务云),云框架是基于Spring Cloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用Spring Boot的开发风格做到一键启动和部署。鸿鹄云Cloud将目前比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终整合出一套简单易懂、易部署和易维护的分布式系统架构平台。

采用服务化的组件开发模式,可实现复杂的业务功能。提供驱动式开发模式,整合内置的代码生成器,将JavaEE开发效率提高5倍以上,减少50%的代码开发量,解决80%的重复工作,让开发者更关注业务逻辑。 使用Maven进行项目的构建管理,采用Jenkins进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。

2.鸿鹄技术架构

鸿鹄Cloud分布式微服务云结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out。为公司技术选型要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务。

鸿鹄Cloud使用大型互联网分布式企业微服务云架构(鸿鹄云),架构图如下:

3.鸿鹄Cloud组成

大型企业分布式微服务云架构服务组件实现模块化、微服务化、原子化、灰度发布、持续集成,组件组成如下:

commonservice eureka

云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移

commonservice config

配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。

Spring Cloud Bus

事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

Feign

Feign是一种声明式、模板化的HTTP客户端。

Spring Cloud Task

提供云端计划任务管理、任务调度。

Ribbon

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

Turbine

Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。

Zuul

Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

Spring Cloud Security

基于spring security的安全工具包,为你的应用程序添加安全控制。

commonservice sso

为Web、手机、PC提供统一登录、认证、授权入口,允许第三方系统在用户授权的前提下访问用户在服务鸿鹄云商存储的服务信息。

commonservice apigateway

API网关封装了系统内部架构,为每个客户端提供一个定制的API。如身份验证、监控、负载均衡、缓存、管理、静态响应处理。

commonservice zipkin

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

commonservice turbine

聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。。

commonservice cache

独立分布式缓存服务。

commonservice admin

微服务监控,如Health、内存、JVM、垃圾回收、各种配置信息(比如数据源、缓存列表和命中率)等,可修改logger的level等。

commonservice-system

提供后台管理基础功能,其中包括:用户,角色,权限,数据字典,菜单,部门,机构,操作日志,连接池监控等

4.代码结构

5.后台管理平台-技术点(只列了基础部分)

SOA服务框架:Spring Cloud 、Spring Boot、RestFul等

分布式缓存:Redis

模块化管理:Maven

数据库连接池:Alibaba Druid

核心框架:Spring framework、Spring Boot

持久层框架:MyBatis

安全框架:Apache Shiro

服务端验证:Hibernate Validator

任务调度:quartz

日志管理:SLF4J 1.7、Log4j

客户端验证:JQuery Validation

动态页签:easyui tab

前端框架:Bootstrap、Vue

6.后台管理平台-功能结构图

7.基础功能列表及描述

用户管理:用户是系统操作者,该功能主要完成系统用户配置。

角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

权限管理:对系统中经常使用的一些较为固定的数据进行维护等。

菜单管理:配置系统菜单,操作权限,按钮权限标识等。

部门管理:配置系统组织机构,树结构展现,可随意调整上下级。

日志管理:系统操作日志记录和查询;系统异常信息日志记录和查询。

连接池监视:监视数据库连接池状态,分析SQL找出系统性能瓶颈。

8.后台管理平台-基础功能截图


 

 

 

 

 

 

 

 
(企业架构源码可以加求球:叁五三陆二肆柒二伍玖)

9.鸿鹄云平台微服务层设计

10.鸿鹄Cloud的未来

鸿鹄Cloud为未来互联网企业提供分布式基础设施解决方案。同时,随着近几年微服务架构和Docker容器概念的火爆,也会让Spring Cloud在未来越解决方案中提供了标准化的、全站式的技术方案,有效推进服务端软件系统技术水平提升。

版权声明
本文为[黑骑士1203]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000038136441

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云