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

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

 

  • 大小: 467.1 KB
  • 大小: 125.8 KB
  • 大小: 28.7 KB
  • 大小: 400.6 KB
  • 大小: 160.6 KB
  • 大小: 101.2 KB
  • 大小: 81.2 KB
  • 大小: 90.1 KB
  • 大小: 92.9 KB
  • 大小: 121.1 KB
  • 大小: 82.5 KB
  • 大小: 113 KB
  • 大小: 324.8 KB
分享到:
评论

相关推荐

    SpringCloud微服务分布式架构开发实战-50000-05-作业及参考答案.rar.rar

    在本课程"SpringCloud微服务分布式架构开发实战-50000-05-作业及参考答案"中,我们将深入探讨SpringCloud这一强大的微服务框架,并通过具体的作业与参考答案来加深理解。SpringCloud是Java领域中广泛使用的微服务...

    SpringCloud——分布式配置中心(Spring Cloud Config)

    在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...

    基于SpringCloud-微服务系统设计方案.rar

    SpringCloud作为Java领域的微服务框架,提供了全面的解决方案,帮助企业快速构建分布式系统。本文将深入探讨基于SpringCloud的微服务系统设计方案,涵盖核心组件、架构设计原则以及实施策略。 1. **微服务架构基础*...

    SpringCloud微服务、链路跟踪、分布式配置、分布式网关

    SpringCloud是Java开发人员广泛使用的微服务框架,它提供了一系列工具和组件,帮助开发者构建、部署和管理分布式系统。这个压缩包文件包含了SpringCloud的一些核心功能的示例,包括服务注册与发现、链路跟踪、分布式...

    dmall商城-SpringCloud构建的分布式电商项目-dmall.zip

    dmall商城是一个基于SpringCloud构建的分布式电商系统,它的核心目标是实现高可用、高性能、模块化的电商服务架构。SpringCloud作为一个微服务开发的利器,提供了包括服务注册与发现、配置中心、熔断机制、负载均衡...

    SpringCloud-微服务课程笔记

    - **定义**:Spring Cloud 是一个基于 Spring Boot 的开发工具包,主要用于构建分布式系统和微服务架构。 - **特点**: - **服务注册与发现**:通过集成 Eureka、Consul 等服务注册中心来实现服务的注册、发现与...

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

    本文将深入探讨标题" Ideal版SpringCloud框架参考---分布式微服务架构参考"所涵盖的关键知识点,并结合描述中的组件进行详细解析。 首先,Eureka是Spring Cloud中的服务注册与发现组件。它允许微服务实例向中心...

    [云框架]基于SpringCloud的微服务架构-用户指南

    本文将深入探讨Spring Cloud的核心概念、关键组件以及如何使用它来构建分布式应用。 1. 微服务架构 微服务架构是一种将单一应用程序分解为一组小型独立服务的方法,每个服务运行在其自己的进程中,通常与轻量级通信...

    spring-cloud 微服务系统架构 ppt

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

    若依SpringCloud微服务版-傻瓜式教程模式

    【若依SpringCloud微服务版-傻瓜式教程模式】是一个面向初学者的教程,旨在帮助没有微服务架构经验的人快速上手搭建基于Spring Cloud的若依(RuoYi)微服务系统。若依是一个开源的Java管理框架,集成了Vue前端和Spring...

    基于SpringCloud-微服务系统设计方案 2020最新.docx

    Spring Cloud作为微服务的主流框架,提供了丰富的工具集来帮助开发者构建和管理微服务。 **核心概念与挑战** 1. **微服务的本质**:微服务架构是分布式系统的一种实现方式,强调服务的细粒度划分,每个服务都是...

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

    《Spring Boot + Spring Cloud 微服务分布式源码详解》 在现代软件开发中,Spring Boot 和 Spring Cloud 的组合已经成为构建微服务架构的首选方案。本文将深入探讨这两个框架的集成应用,以及它们如何帮助开发者...

    whc的毕业设计:基于Vue+SpringCloud博客的设计与实现-微服务-分布式.zip

    【标题】"基于Vue+SpringCloud博客的设计与实现-微服务-分布式" 是一个典型的现代Web应用开发项目,主要展示了如何使用Vue.js前端框架和Spring Cloud后端微服务架构来构建一个分布式博客系统。这个毕业设计涵盖了多...

    springcloud整合分布式事务框架TX-LCN

    Spring Cloud作为一款强大的微服务治理框架,提供了许多工具和组件来帮助开发者构建云原生应用。本文将深入探讨如何在Spring Cloud环境中整合分布式事务框架TX-LCN,以实现高效、一致的数据操作。 TX-LCN...

    基于Vue+SpringCloud博客的设计与实现-微服务-分布式源码+论文文件.zip

    该压缩包文件“基于Vue+SpringCloud博客的设计与实现-微服务-分布式源码+论文文件.zip”包含了一个完整的微服务架构的博客系统设计与实现的项目源码,以及相关的论文文档。这是一个融合了前端Vue.js技术和后端Spring...

    毕业设计:基于Vue+SpringCloud博客的设计与实现-微服务-分布式.zip

    《基于Vue+SpringCloud博客的设计与实现:微服务与分布式技术的应用》 在这个毕业设计项目中,我们将深入探讨如何利用现代Web技术栈构建一个基于Vue.js前端和Spring Cloud后端的分布式博客系统。这个系统充分利用了...

    springcloud微服务 一个简单的微服务提供方和微服务消费者

    在这个名为"springcloud微服务 一个简单的微服务提供方和微服务消费者"的项目中,我们看到了微服务架构的典型实现。 首先,让我们深入了解服务提供方和服务消费者的概念。服务提供方是系统中提供特定功能或数据的...

    SpringCloud微服务架构笔记-共四部分四个PDF文件

    本笔记涵盖了从微服务基础概念到SpringCloud核心组件的深入讲解,旨在帮助开发者构建高可用、高性能的分布式系统。 一、微服务基础知识 微服务架构是一种将单一应用程序划分为一组小型服务的架构模式,每个服务运行...

Global site tag (gtag.js) - Google Analytics