(六)整合spring cloud云服务架构 - 企业云架构common-service代码结构分析
当前的分布式微服务云架构平台使用Maven构建,所以common-service的通用服务按照maven构建独立的系统服务,结构如下:
particle-commonservice: spring cloud 系统服务根项目,所有服务项目的根依赖。
particle-commonservice-admin: spring cloud/boot的微服务管理、监控平台(里面会集成很多的组件服务项目)
particle-commonservice-apigateway:API网关通用服务项目,所有的请求首先会经过这个网关。有点类似于前端控制器模式,也有点类似于 Facade模式。由于所有的请求会先经过这个 api 网关,所以可以在这里做权限控制,安全,负载均衡,请求分发,监控等等。以下的一张图片是从网上找的,方便大家理解:
particle-commonservice-cache:针对于分布式缓存提供服务化项目,封装分布式缓存redis等。
particle-commonservice-config: 提供独立的微服务配置管理项目项目。配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。
particle-commonservice-erueka: 提供独立的微服务服务发现、注册管理平台。云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
particle-commonservice-mq: 提供独立的消息中间件服务平台。包括对流行的阿里rocketmq、rabbit mq、kafka分布式消息中间件的服务管理(这里集成了多种方案,供使用者选择)。完整项目的源码来源 技术支持 二一四七七七五六三三
particle-commonservice-sso: 提供统一用户登录、认证单点登录平台。使用第三方OAuth2.0的解决方案,通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机提供统一认证登录服务。
particle-commonservice-turbine:是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况,提供独立的服务项目。
particle-commonservice-zipkin:提供独立的服务项目,为SpringCloud应用实现了一种分布式追踪解决方案。分布式跟踪系统数据流主要分为三个步骤:采集、发送和落盘分析,Zipkin官网给出的设计图,方便大家理解:
从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
@所有开发者:我们一起定义云计算的未来
每个时代都有自己的英雄 开发者就是数字文明的建筑师和英雄 阿里云希望与开发者共同成长、共同定义、共同参与、共同分享未来云计算的发展。 成立9年,已有超过数百万开发者在阿里云上学习、成长,是中国云计算事业的核心力量。 “我们将加大对开发者社区的投入,让更多开发者可以一起分享云计算高速发展的红利“。 ——胡晓明 阿里云开发者中心负责人毕玄表示,基于「四个共同」,阿里云将推出多项重磅计划,这些计划均围绕开发者关心的领域展开。 毕玄表示, “分享是一种快乐,我们将不断回馈开源社区”。阿里巴巴已经加入了Linux、CNCF、Apahce等11家顶级基金会,累计开源的项目超过400个,涵盖中间件、开发框架、数据库和各种工具类软件。在GitHub 2017贡献榜上,阿里是唯一一家入围GitHub 顶尖贡献名单的中国公司。 开发者正用他们独特的面孔出现在数字时代的
- 下一篇
老板让你抗住千万级流量,如何做架构设计?
随着互联网的发展,各项软件的客户量日益增多,当客户量达到一定峰值时,当数以万计的流量来临时,程序的顺利运行以及即时响应则显得尤为重要,就像双11那天的淘宝一样。那么,如何设计架构才能够抗住这千万级的流量。 老板让你抗住千万级流量,如何做架构设计? 首先,要在我们架构设计的时候建立一些原则。 1. 实现高并发 服务拆分:将整个项目拆分成多个子项目或者模块,分而治之,将项目进行水平扩展。 服务化:解决服务调用复杂之后的服务的注册发现问题。 消息队列:解耦,异步处理 缓存:各种缓存带来的并发 2. 实现高可用 集群、限流、降级 3. 业务设计 幂等:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用,就像数学里的数字1,多少次幂的结果都是1。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。 防重:防止同样的数据同时提交 除了在业务方向判断和按钮点击之后不能继续点击的限制以外,在服务器端也可以...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装Nodejs环境