- 📖Github用户如果访问速度慢的话,点击在线阅读
☕ Java-Home 是一个 Java 核心技术及实践教程,从头搭建可承载高并发量访问的系统。
业务场景是验证架构合理性的标准之一。
自顶向下设计微服务平台,以下是系统设计过程。
系统分层,用户、接入层、网关层、业务服务层、基础服务层、运维服务层。分层目的是松耦合,增加拓展性。架构图如下
前端使用vue/element-ui构建可视界面,后端采用maven多模块/springboot构建API接口,业务层。项目通过华为his部署,灰度发布。
网关应用,提供网关路由转发、降级、熔断、请求处理等网关功能。 gateway-admin 提供路由应用管理,包括路由配置,设置灰度分流。 网关主要做了一件事:请求过滤。我们在网关处理一些非业务逻辑的事情,权限认证、缓存、请求路由等。
- Kong
- zuul
使用API中心订阅机制。
- Zookeeper
- nacos
- euraka
使用nacos替代eureka为服务的注册中心。
监控数据埋码,公共js植入自动采集代码,每个页面挂载函数中添加埋码。
使用jumper连接远程桌面、linux主机。
部署发布使用华为鲲鹏计算云,RDS的MySQL集群,灰度发布。项目打成war包,使用tomcat集群。生产环境操作需提交变更号,经过专家评审,审批通过后部署。
Docker是一个开源的容器引擎,它有助于更快地交付应用。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
Docker-compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
提前准备发布计划,线上BUG的回滚和修复计划
本地部署好自己的服务->生产或测试部署服务->导出镜像,变成tar.gz压缩包->生产或测试解压压缩包->导入(load)镜像->开一个容器,启动
使用 docker-comose.yml,Dockerfile初始化
service 定义服务名称 image:镜像名称 container_name:自定义项目名称 如果需要构建:使用build标签三级标签:depends_on 依赖
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
environment:环境变量
external_links:连接在compose.yml外部的容器
links:创建连接到其他服务中的容器
extra_hosts:修改hosts文件
logging:配置日志服务,options可选值
ports:映射端口的标签
volumes:挂在数据卷
maven在主流开发中是非常常用的。
Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET。
利用 docsify 生成文档部署在 Github pages: docsify 官网介绍
- 书籍
- 教程、社区