Skip to content

wangcongbirley/Java-Home

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • 📖Github用户如果访问速度慢的话,点击在线阅读

阅读 投稿

Java-Home

Java-Home 是一个 Java 核心技术及实践教程,从头搭建可承载高并发量访问的系统。

目录 ☕

业务场景是验证架构合理性的标准之一。

系统设计

系统整体设计

框架篇

Spring

  1. Spring 学习与面试

  2. Spring AOP介绍

SpringBoot

SpringMVC

MyBatis

微服务

自顶向下设计微服务平台,以下是系统设计过程。

项目架构

系统分层,用户、接入层、网关层、业务服务层、基础服务层、运维服务层。分层目的是松耦合,增加拓展性。架构图如下

前端使用vue/element-ui构建可视界面,后端采用maven多模块/springboot构建API接口,业务层。项目通过华为his部署,灰度发布。

技术栈选型

  1. 微服务技术栈有哪些?

网关层

网关应用,提供网关路由转发、降级、熔断、请求处理等网关功能。 gateway-admin 提供路由应用管理,包括路由配置,设置灰度分流。 网关主要做了一件事:请求过滤。我们在网关处理一些非业务逻辑的事情,权限认证、缓存、请求路由等。

常用开源网关组件

  • Kong
  • zuul

API网关

使用API中心订阅机制。

注册中心

  • Zookeeper
  • nacos
  • euraka

nacos

使用nacos替代eureka为服务的注册中心。

  1. SpringCloud Euraka

治理策略

  1. 治理策略

redis

  1. redis

运维服务层

系统监控

监控数据埋码,公共js植入自动采集代码,每个页面挂载函数中添加埋码。

  1. Kibana

  2. druid

跳板机

使用jumper连接远程桌面、linux主机。

部署

部署发布使用华为鲲鹏计算云,RDS的MySQL集群,灰度发布。项目打成war包,使用tomcat集群。生产环境操作需提交变更号,经过专家评审,审批通过后部署。

  1. 部署模式
  2. tomcat集群
Docker

Docker是一个开源的容器引擎,它有助于更快地交付应用。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

Docker-compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。

docker部署系统

提前准备发布计划,线上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:挂在数据卷

tomcat集群

-tomcat集群

缓存

分布式

elasticsearch

消息队列

  1. 消息队列选型

工具篇

Linux

Docker

Maven

maven在主流开发中是非常常用的。

其他

jvm原理

并发

java基础

说明📚

Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET

利用 docsify 生成文档部署在 Github pages: docsify 官网介绍

学习资源 💎

About

☕ Java系列之技术实践。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages