摘要: 一、什么是微服务? 1、单体应用的痛点 部署效率低下 团队协作开发成本高 系统高可用性差 2、什么是服务化 把传统的单体应用中的本地方法调用,改造成通过RPC、HTTP产生的远程方法调用 把模块从单体应用中拆分出来,独立成一个服务部署 用户模块就可以独立开发、测试、上线和运维,可以交由专门的团队来做 阅读全文
posted @ 2020-12-22 21:59 michealyangblog 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 一、初识RabbitMQ 1、核心思想:接收并转发消息。可以把它想象成一个邮局 producer:消息生产者 queue:队列 consumer:消息消费者 2、消息队列 3、消息队列的特性 业务无关 FIFO(先进先出) 容灾 性能 4、为什么要用消息队列 系统解耦 异步调用 流量削峰 5、Rab 阅读全文
posted @ 2020-12-22 16:11 michealyangblog 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 一、Nginx介绍 1、Nginx是什么、适用场景 HTTP的反向代理服务器 动态、静态资源分离 2、正向代理 3、反向代理 Nginx反向代理 4、正向+反向代理 5、动态、静态资源分离 不分离会变慢 静态资源无需经过Tomcat,Tomcat只负责处理动态请求 例如:访问后缀为gif的资源时,N 阅读全文
posted @ 2020-12-17 19:26 michealyangblog 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念、用途、核心思想 1、Docker是什么? Docker是一个用来装程序及其环境的容器,属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。 2、为什么需要Docker? 环境配置的难题 虚拟机(资源占用多、冗余步骤多、启动慢等缺点) Doc 阅读全文
posted @ 2020-12-17 15:28 michealyangblog 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 一、什么是分布式 权威定义: 利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送消息合作。实际项目的演进过程 一个项目,大而全 多台机器,部署同样的应用 分布式:权限系统、员工系统、请假系统 二、分布式的作用 1、为什么需要分布式 实际工作中的痛点 工程臃肿 测试、上线繁琐 开发效率低 阅读全文
posted @ 2020-12-16 14:24 michealyangblog 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、两大使用场景——ThreadLocal的用途 典型场景1: 每个线程需要独享一个对象(通常是工具类,典型需要使用的类有SimpleDateFormat和Random) 每个Thread内有自己的实例副本,不共享 比喻:教材只有一本,一起做笔记有线程安全问题。复印后没问题 SimpleDateFo 阅读全文
posted @ 2020-12-16 09:36 michealyangblog 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 一、线程池的自我介绍 一个线程 package threadpool; public class EveryTaskOneThread { public static void main(String[] args) { Thread thread = new Thread(new Task()); 阅读全文
posted @ 2020-12-15 10:39 michealyangblog 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 一、项目打包 打开Maven Projects窗口,首先执行点击clean按钮,再点击package按钮即可完成打包,jar包将生成在target目录下 二、项目部署 部署命令: nohup java -jar -Dserver.port=8081 -Dspring.profiles.active= 阅读全文
posted @ 2020-12-14 09:51 michealyangblog 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 一、添加生成二维码相关依赖 <!--生成二维码依赖--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency> 二 阅读全文
posted @ 2020-12-12 16:29 michealyangblog 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一、添加redis相关依赖 <!--添加redis相关依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </de 阅读全文
posted @ 2020-12-08 17:12 michealyangblog 阅读(86) 评论(0) 推荐(0) 编辑