如何用SpringCloud构建面向企业的大型分布式、微服务快速开发框架
最近公司给了我一个任务,为了满足企业内部多系统的快速开发和解耦,需要为企业搭建一套内部企业架构,要求必须使用分布式、微服务技术,考虑到现在比较流行springcloud开源架构,故在此基础上进行了框架搭建,搭建过程中对整个架构设计思想做了一下总结,希望可以帮助更多的朋友了解企业分布式架构,总结如下:
1. 鸿鹄Cloud架构清单
2. Commonservice(通用服务)
通用服务:对spring Cloud组件的使用&封装,是一套完整的针对于分布式微服务云架构的解决方案。如:注册中心、配置中心、网关中心、监控中心、认证中心、用户中心、日志中心、文件中心、消息中心、分布式ID、链路追踪、聚合发送等。
清单列表
代码结构
3. Component(通用组件)
通用组件:对系统常用组件的封装,如:常用异常状态码、URL权限、Service/Dao/VO封装、Mybatis/Spring封装、分页、对象存储包、Redis缓存、日志、常用工具类、RabbitMQ、分布式Sequence等。
清单列表
代码结构
4. 快速开发管理平台
鸿鹄云架构【系统管理平台】是一个大型企业、分布式、微服务、云架构的JavaEE体系快速研发平台,基于模块化、微服务化、原子化、热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Cloud+Spring Boot+Mybatis+Oauth2+微服务设计思想)构建。 采用服务化的组件开发模式,可实现复杂的业务功能。使用Maven进行项目的构建管理,采用Jenkins进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。使用当前最流行最先进的开源技术实现服务组件化及管理,真正为企业打造分布式、微服务、云架构平台。
【平台安全性】平台严格遵循Web安全规范,使用前后端双重验证,统一用户认证及密码安全策略,标准功能权限、数据权限过滤。使用防SQL脚本注入、跨站点脚本编制(XSS)、伪造请求(CSRF)攻击等常见的攻击手段。
业务服务与业务服务提供对外标准Restful接口规范,对内Feign的调用模式,实现分布式集群部署,业务与业务之间完全解耦,使用Zipkin做服务与服务之间的链路追踪,ES做日志数据收集,真正为企业打造分布式、微服务、云架构平台。
清单列表
代码结构
5. 业务服务
业务服务:通过服务与服务之间的内部(Feign)、外部通讯(Restful),满足不同业务需求。外部服务通过标准化协议,对外提供安全稳定的Restful服务,对内通过Spring Cloud Feign方式进行通讯,数据库完整CRUD操作。
代码结构
6. 分布式架构图
7. 运行环境支持
开发工具:Idea、Eclipse
WEB容器:Tomcat、Jboss、Weblogic、webSphere
JDK版本:1.8+
系统支持:Docker、Window、Linux
数据库/数据源:MySQL、Alibaba Druid
服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security
分布式中间件:RabbitMQ、Redis、ElasticSearch、OSS
前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3
构建方式:Maven、Jenkins
涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stream、ElasticSearch
以上是我给公司规划的分布式、微服务、云架构快速开发框架技术方案,希望可以帮助更多的朋友!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
社区驱动,Rapid7 收购开源项目 Velociraptor
安全风险信息解决方案提供商 Rapid7宣布收购 Velociraptor,一个用于端点监控、数字取证和事件响应项目。收购完成后,Rapid7将继续发展 Velociraptor 社区,并打算利用其技术和洞察力来增强 Rapid7 的事件响应能力。此次具体交易金额暂未透露。 Rapid7称,Velociraptor 是为数字取证和事件响应(DFIR)专业人员开发的,他们需要一种强大而有效的方式来搜索和监控整个端点的恶意活动。Velociraptor 的社区驱动方法允许 DFIR 社区的集体智慧聚集在一个地方,供其他人使用。Velociraptor 的独特之处在于,它允许在 queries 中而不是 code 中编写自定义检测、收集和分析功能。这些 queries 可以很容易地被共享,加强社区的知识,并允许团队更快地寻找新的威胁。 Rapid7 检测和响应部门高级副总裁 Richard Perkett表示,从 2009 年收购 Metasploit 开始,该公司就一直在给开源项目提供支持。其坚信,与开源社区的合作是推动安全行业向前发展并使数字世界成为每个人更安全的地方的最重要方法之一 。...
- 下一篇
5分钟搞懂分布式基础概念
分布式基础概念 1、微服务 拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行 2、集群、分布式、节点 集群 是一种物理形态 将几台服务器集中在一起,实现同一业务 分布式 是一种工作方式 若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统 将不同的业务分布在不同的地方 节点 集群中的一个服务器 3、远程调用 分布式系统中,各个服务可能处于不同主机,但是服务之间不可避免的需要互相调用,我们称为远程调用。 SpringCloud中使用HTTP+JSON的方式完成远程调用。 4、负载均衡 A服务调用B服务,B服务部署在多台机器,A发送请求到任意一个服务器均可完成调用。 为了使每台服务器不至于忙于处理请求,可以将请求均衡到每一个服务器,提升网站的可用性。 负载均衡算法: 轮询:请求依次按顺序分发到不同的可用服务器执行,循环分发请求。 最小连接:分发请求到连接数最少的服务器。场景:处理请求用时较长的场景。 散列:根据用户请求的IP地址的散列(hash)来选择要转发的服务器。场景:需要处理状态而要求用户能连接到相同服务器。 5、服务注册、服务发现、注册中心 A服务调用B...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主