- 博客(6)
- 收藏
- 关注
原创 三种I/O模型
一、I/O模型分类:BIO:(同步 阻塞)jdk1.4以前 java.io包NIO:(同步 非阻塞)jdk1.4 java.nio包AIO:(异步 非阻塞)jdk1.7 java.nio包概念:同步、异步:阻塞、非阻塞:使用场景:BIO:连接数少NIO:连接数多,连接时间短AIO:连接数多,连接时间短...
2022-05-23 21:04:16
146
原创 基于Jenkins的Devops(配合Docker,Gitee)实现CI/CD
本篇展示两个微服务,一个微服务含数据库,一个不含数据库。一、Gitee目录结构详见:gitee具体文件目录为后续Dockerfile和docker-compose.yml使用.二、Dockerfile编写service1:FROM java:8 COPY ./docker01-0.0.1-SNAPSHOT.jar /app.jarEXPOSE 6001ENTRYPOINT ["java","-jar","/app.jar"]
2022-05-16 17:55:09
362
原创 分布式事务专题
分布式事务理论CAP定理C :Consistency 强一致性A :Availability 高可用性P :Partition tolerance 分区容错性CAP定理强调的各个部分都是强制的。例如:1.强一致性可以通过MySQL主从同步时,锁定从库,保证读取数据一定为最新2.高可用性,允许读出旧数据,但是必须要及时返回3.网络分区,必须容忍节点有无法通信的情况,而使得整个系统仍旧可以对外服务,实现:使用主从方案和异步方案。BASE理论我们称满足BASE理论的事务为柔性事务。
2022-05-13 09:17:23
173
原创 分布式三大利器之《消息队列》
消息队列作用1.异步处理(无需同步阻塞,给予用户体验)2.应用解耦(远程调用一方改变接口,另一微服务必须同时改写源代码)3.流量削峰(防止百万流量冲击服务器,防止宕机)两种模式1.点对点(队列,多个人监听,只有一个人能接收消息)2.发布订阅模式(多个人可以同时接收消息)协议消息队列遵循的协议:1.JMS基于jvm消息代理规范,常见的ActiveMQ2.AMQP:高级消息队列协议,兼容JMS,常见rabbitMQ各个协议的优点:1.JMS基于java,实现面向接口编程,导入不同实现类
2022-05-09 21:17:34
425
原创 分布式三大利器之《异步》 + 自定义线程池规则
一、异步线程最开始使用这里橙线有使用到组合模式所以可以看到开启线程的三种方法1.继承Thread,实现其run方法2.由于组合模式,给Thread构造器传入Runnable即:new Thread(new Runnable{。。。});3.new Thread(new FutureTask(new Callable(){。。。 }))public static void main(String[] args) throws ExecutionException, InterruptedExc
2022-05-09 17:58:15
323
原创 分布式三大利器之《缓存》
缓存和分布式锁的演进(产生问题和解决方案)分布式下考虑问题始终围绕:1.单线程,多线程(所谓有无并发问题)2.单服务器,多服务器(所谓分布式问题)没有什么是加一层解决不了的,以下redis就是加一层,将多服务器问题降维为单机。像springCache只是单服务器加锁加缓存,一、缓存篇:缓存分为本地缓存和分布式缓存凡事有利弊先要了解缓存的好处:1)减少数据库压力2)内存级别,比数据库快得多缺点:1)数据不一致问题2)占用内存资源应用场景:1)读多写少2)实时性不高演进过程如下
2022-05-06 17:23:07
453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人