`
springcloud关注者
  • 浏览: 312055 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
12d8ea3d-4199-3941-8a17-acd5024729b8
Spring_Cloud构...
浏览量:251201
文章分类
社区版块
存档分类
最新评论

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

1
0
分享到:
评论

相关推荐

    基于Spring Cloud架构的“分布式微服务”课程开发研究.pdf

    通过课程学习,学生能够掌握分布式微服务架构的核心技术,理解微服务之间的依赖关系和通信机制,以及如何通过Spring Cloud等框架进行微服务的设计与开发。学生还可以学习到如何解决分布式系统中出现的问题,比如服务...

    鸿鹄Cloud分布式微服务云系统管理_springcloud_分布式_产品_云_平台_

    Commonservice-system 是一个大型分布式、微服务、面向企业的 JavaEE 体系快速研发平台,... 使用 Maven 进行项目的构建管理,采用 Jenkins 进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。

    使用Spring Cloud和Docker构建微服务

    在使用Spring Cloud构建微服务时,可以发现如下几个核心组件:配置管理、服务发现、断路器和分布式会话。配置管理遵循了十二因素应用原则中的配置管理部分,服务发现则是微服务架构中的关键组件,它允许服务间相互...

    spring boot+Spring cloud微服务分布式源码.zip

    在现代软件开发中,Spring Boot 和 Spring Cloud 的组合已经成为构建微服务架构的首选方案。本文将深入探讨这两个框架的集成应用,以及它们如何帮助开发者实现高效、可扩展的分布式系统。 Spring Boot 是一个基于 ...

    Ideal版SpringCloud框架参考---分布式微服务架构参考

    在IT行业中,Spring Cloud是一个广泛使用的开源框架,用于构建分布式微服务系统。它基于Spring Boot,使得开发人员能够轻松地创建和管理云原生应用程序。本文将深入探讨标题" Ideal版SpringCloud框架参考---分布式微...

    蚂蚁课堂-第四期-基于SpringCloud构建微服务电商项目

    蚂蚁课堂-第四期-基于SpringCloud构建微服务电商项目 (无密) |____035-自动化运维-基于Docker+Jenkins实现自动化部署.rar |____034-秒杀系统设计-基于责任链设计模式与网关实现限流.rar |____033-秒杀系统设计-基于...

    简易的SpringCloud分布式微服务项目

    在IT行业中,SpringCloud是一个备受关注的框架,它主要用于构建分布式系统,如微服务架构。本项目名为"简易的SpringCloud分布式微服务项目",它旨在提供一个简单易懂的入门示例,帮助开发者理解如何利用SpringCloud...

    基于Spring Cloud和Docker的分布式微服务架构设计.pdf

    SpringCloud是当前微服务架构中应用非常广泛的一个框架,它提供了一套完整的微服务解决方案,能够帮助开发者快速构建分布式系统中的一些常见模式,比如服务发现、配置管理、负载均衡、断路器等。SpringCloud基于...

    基于SpringCloud分布式微服务+微信小程序实现短视频社交app设计源码.zip

    总结来说,构建基于SpringCloud分布式微服务和微信小程序的短视频社交App,需要深入了解微服务架构原理,熟练掌握SpringCloud组件的使用,同时熟悉微信小程序的开发流程和API。通过对这些技术的综合运用,我们能够...

    基于springcloud的分布式网上商城系统源码.zip

    SpringCloud是基于Spring Boot的微服务开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中快速构建...

    基于Springcloud的分布式敏捷开发系统架构,提供整套公共微服务模块:集中权限管理(单点登录)等.zip

    在现代企业级应用开发中,SpringCloud作为一款强大的微服务框架,被广泛应用于构建分布式敏捷开发系统。本项目以“基于Springcloud的分布式敏捷开发系统架构,提供整套公共微服务模块:集中权限管理(单点登录)等”...

    基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统

    在构建基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统时,开发者通常会采用一系列先进的技术来实现高效、可扩展且灵活的系统。这个系统不仅涉及到后端服务的开发,还涉及到前端用户界面的...

    基于SpringCloud开发的在线教育系统

    在线教育平台服务端基于Spring Boot构建,采用Spring Cloud微服务框架。 持久层:MySQL、MongoDB、Redis、ElasticSearch 数据访问层:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等 业务层:Spring IOC、...

    spring cloud alibaba 分布式,可用于学习,了解架构.zip

    Spring Cloud Alibaba 是一套基于 Spring Boot 实现的微服务框架,旨在简化...同时,你也将掌握如何使用 Spring Boot 和 Spring Cloud 框架来构建微服务应用,这对于提升你在分布式系统领域的专业技能非常有帮助。

    Spring Cloud构建微服务架构

    它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复...

    Spring Cloud构建微服务架构.doc

    Spring Cloud构建微服务架构是现代企业级应用开发的热门选择,尤其在Java生态系统中,它利用Spring Boot的便利性,简化了云应用的构建过程。Spring Cloud作为一个集合体,涵盖了多个子项目,如Config用于配置管理,...

    spring-cloud 微服务系统架构 ppt

    【Spring Cloud 微服务系统架构】是现代企业级应用程序开发的一种流行框架,它基于Spring Boot的便利性和Netflix OSS的一系列工具,为构建分布式系统提供了全面的解决方案。在微服务架构中,每个服务都是一个独立的...

    SpringCloud && Vue 分布式微架构 + 前后端分离解决方案

    在现代Web应用开发中,SpringCloud与Vue.js的结合运用成为了构建分布式微架构及实现前后端分离的重要解决方案。本文将详细解析这两个技术栈的核心概念、关键组件以及它们如何协同工作来构建高效、可扩展的Web服务。 ...

    基于springcloud的分布式电商系统源码.zip

    在当今的互联网时代,分布式系统已经成为企业级应用的主流架构,而SpringCloud作为Java生态中的一员猛将,为构建微服务架构提供了全面的解决方案。本篇将围绕“基于SpringCloud的分布式电商系统源码”这一主题,深入...

Global site tag (gtag.js) - Google Analytics