蓝湖+Vue.js+SosoApi+Spring Cloud+Rancher——项目架构总结介绍

2022-08-04 19:21:28 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1、架构设计图

1.1、系统架构特点

微服务设计、前后端分离、高可用、易扩展、易维护、统一配置、令牌限流、服务熔断、链路追踪、docker容器部署、rancher容器管理、自动化运维

1.2、系统架构图

1.3、总设计思维图

1.4、后端架构图

2、产品UI——蓝湖

2.1、简介

蓝湖是一款优秀的产品设计写作平台,实现了一张画板展示页面跳转逻辑、设计图历史版本管理、打点评论、自动标注、制作高保真交互原型、团队共享网盘等功能。

2.2、特点

2.2.1、自动标注设计图,从此不再手工低效,一键生成所有标注和切图,自动共享给同事

2.2.2、设计图标管理

清晰展现设计图不同状态,如同一页面的未登录、无数据等多种状态

2.2.3、设计图批注

打点标记进行评论, @相关成员即可实时通知、高效协作

2.2.4、自动保存历史版本

随时查看历史版本,支持自动备份源文件

2.2.5、产品经理表达需求更轻松

按页面进行连线,清晰展现产品逻辑

2.2.6、汇总项目文档

在线共享 Axure 等产品文档,方便团队查看

2.2.7、在线交互说明

交互说明永远最新,团队时刻保持同步

2.2.8、工程师省心省力高效编程,查看标注

2.2.9、切图下载

一键下载多种设备切图,支持 PNG、SVG 格式

2.3.0、自动生成代码

自动生成 CSS、iOS 和 Android 代码,复制即可使用

2.3.1、小程序组件

包含小程序组件的设计图,可自动生成小程序代码

2.3.2、这些团队正在使用蓝湖

3、前端框架——Vue.js

3.1、vue.js简介

vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。

另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

3.2、vue.js特点

3.2.1、vue.js的灵活性

简单小巧的核心,渐进式技术栈,足以应付任何规模的应用

3.2.2、vue.js的性能

20kb min gzip 运行大小、超快虚拟 DOM 、最省心的优化

4、接口管理——SosoApi

4.1、简介

SosoApi接口管理系统是基于swagger开发的一套接口管理系统,主要包含2大模块,线上接口编辑和项目管理。

4.2、特点

4.2.1、项目管理

4.2.2、在线编辑接口文档

接口信息 ​​​​​

请求和响应参数

4.2.3、在线测试接口

5、后端架构——Spring Cloud

5.1、服务发现注册——eureka

5.1.1、eureka简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

5.1.2、eureka特点

Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

5.2、网管服务—— zuul

5.2.1、zuul 简介

Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

5.2.2、zuul 工作原理

5.2.3、zuul 令牌限流

[外链图片转存失败(img-zPCsOMDk-1567083290023)(http://note.youdao.com/yws/res/5187/WEBRESOURCE00388c63eb87ab86ac9514d1d974ab00)]

5.3、配置管理-config

5.3.1、config简介

spring cloud config是一个基于http协议的远程配置实现方式。通过统一的配置管理服务器进行配置管理,客户端通过https协议主动的拉取服务的的配置信息,完成配置获取。

5.3.2、config 原理

5.3.3、config特点

通过git远程统一管理服务器配置,例如配置属性文件参数,及时生效,不需要在服务器上手动重启服务。

5.4、服务降级与熔断——hystrix

5.4.1、hystrix 简介

hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性、容错性与局部应用的弹性,是一个实现了超市机制和断路器模式的工具类库。

[外链图片转存失败(img-rqSC7UpF-1567083290024)(http://projects.spring.io/spring-cloud/images/Hystrix.png)]

5.4.2、hystrix 原理

[外链图片转存失败(img-ca3RKxvz-1567083290027)(http://note.youdao.com/yws/res/5229/WEBRESOURCE8eea3a05eb93ed6df2ffacc0e4a7fa50)]

5.5、服务追踪——Sleuth Zipin

5.5.1、Sleuth和Zipin简介

Sleuth 是一种提供的跟踪服务,也就是说利用 sleuth 技术可以实现完整的微服务的访问路径的跟踪操作。

Zipkin是一个分布式追踪系统。它有助于收集解决微服务架构中延迟问题所需的时序数据。它管理这些数据的收集和查找。

[外链图片转存失败(img-ZpRf6s0o-1567083290029)(https://raw.githubusercontent.com/spring-cloud/spring-cloud-sleuth/master/docs/src/main/asciidoc/images/zipkin-ui.png)]

6、容器化应用——Docker

6.1、Docker 简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

6.2、Docker 解决了什么问题

1、解决了环境不一致问题

2、解决了在同一个操作系统中的应用程序相互影响的问题

3、可以快速方便的增加服务器节点,不需要配置环境

6.3、Docker 工作原理

Docker使用C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

7、部署运维——Rancher

7.1、Rancher 简介

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

7.2、Rancher 快速创建和启动应用

7.3、Docker 查看应用日志

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106443.html原文链接:https://javaforall.cn

0 人点赞