Java架构-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在未来越解决方案中提供了标准化的、全站式的技术方案,有效推进服务端软件系统技术水平提升。

我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目

我本人邀约各大BATJ架构大牛共创Spring Cloud构建微服务架构的交流社区。 (群号:573988200)欢迎各路架构师、开发者,学习与交流使用Spring Cloud诸多强大组件的实战经验。

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

希望此文能帮到大家的同时,也听听大家的观点。欢迎留言讨论,加关注,分享你的高见!持续更新

To-陌霖Java架构
复制代码

分享互联网最新文章 关注互联网最新发展

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值