大家好,又见面了,我是你们的朋友全栈君。
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