![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Web微服务开发
文章平均质量分 89
服务端应用架构设计开发
右耳听风
芝兰生于深谷,不以无人而不芳
君子修身养德,不以穷困而改志
展开
-
经典游戏服务器端架构概述
游戏技术架构原创 2022-11-09 16:59:56 · 1554 阅读 · 0 评论 -
编码和加密
编码和加密原创 2022-10-25 17:07:14 · 1058 阅读 · 0 评论 -
AWS Amplify框架1
amplify原创 2022-08-22 22:29:13 · 373 阅读 · 0 评论 -
DynamoDBMapper&Streams
DynamoDBMapper原创 2022-08-10 16:28:44 · 328 阅读 · 0 评论 -
AWS DynamoDB CLI操作与SDK编程
访问 DynamoDB原创 2022-08-08 18:24:36 · 862 阅读 · 0 评论 -
怎么面试程序员的?傲慢与无礼,就数他牛逼
面试招聘翻译 2022-08-03 10:42:17 · 116 阅读 · 0 评论 -
怎么招聘程序员
怎么招聘翻译 2022-08-03 09:57:18 · 280 阅读 · 0 评论 -
Thrift IDL示例文件
thrift原创 2022-08-01 19:17:51 · 392 阅读 · 0 评论 -
Thrift安装配置
thrift原创 2022-08-01 14:50:37 · 1864 阅读 · 0 评论 -
服务优雅下线
文章目录问题背景描述优雅下线要解决的问题Springboot对优雅关闭的支持为什么tomcat默认不会优雅关闭?jetty的优雅关闭有什么问题?Springboot内嵌容器优雅停机的处理方案Spring Boot 2.3 及以上版本,开箱即用Spring Boot 2.3 以下版本问题背景描述运维同事反馈上线滚动发布,旧实例接收的请求发生业务中断,没有处理完成, 为保证服务质量,期望发布时旧实例将已有请求处理完成再回收。先说可能会带来的影响:(1)业务处理中断导致数据不完整,属于致命危害。举例:原创 2022-04-18 18:18:28 · 1778 阅读 · 0 评论 -
mysql索引原理2
文章目录索引索引类型索引模型推演二分法查找二叉查找树平衡二叉树(AVL Tree)(左旋、右旋)多路平衡查找树(B Tree)(分裂、合并)B+树 (加强版多路平衡查找树)为什么不用红黑树索引方式:真的只有B+Tree吗InnoDB聚集索引聚集索引(聚簇索引)索引使用规则列的离散度联合索引最左匹配什么时候用不到索引索引数据是以文件的形式存放在磁盘上,每一行数据都有它的磁盘地址。如果没有索引的话,我们从500万条数据检索一条数据,只能依次遍历这张表的全部数据,直到找到这条数据。有了索引以后,只需要去索引原创 2022-03-03 09:21:24 · 1428 阅读 · 1 评论 -
mysql事务与锁3
文章目录事务原子性隔离性持久性一致性事务并发带来的问题(隔离性)事务mysql只有InnoDB支持事务,这也是它默认存储引擎的原因。事务的ACID十大特性。原子性简单说一条或多条sql语句,要么全部成功,要么全部失败。原子性,在InnoDB中通过undo log来实现的。一旦中途发生异常,可以用undo log实现回滚。隔离性数据库层面有4种隔离级别来保证。持久性持久性,指的是事务一旦提交成功,就会持久化到磁盘。不会因为宕机、重启而丢数据。持久性是通过redo log和双写缓冲来保证的原创 2022-03-03 08:42:03 · 829 阅读 · 0 评论 -
mysql架构1
文章目录存储引擎存储引擎比较执行引擎Mysql体系结构连接层服务层存储引擎一条更新的SQL是如何执行的缓冲池Buffer PoolRedo logredo log 有什么特点undo logInnoDB总体架构系统表空间system tablespace独占表空间file-per-table tablespaces通用表空间 general tablespaces临时表空间undo log tablespacebinlog存储引擎5.5以前默认存储引擎是myisam,5.5以后默认的存储引擎是InnoD原创 2022-03-03 06:11:08 · 614 阅读 · 0 评论 -
Redis基础2
文章目录Redis分布式集群主从复制sentinel集群哨兵机制的不足Codis代理集群Redis Clustercluster数据分布Redis cluster特点Redis分布式集群redis支持集群架构。集群有主节点master和从节点slave。slave通过复制技术,自动同步master的数据。主从复制redis主从复制分为2类,一种叫全量复制。第二种叫增量复制。如果新加入的slave节点就需要全量复制。master通过bgsave命令在本地生成一个RDB快照发给slave节点。如果原创 2022-03-01 22:41:31 · 541 阅读 · 0 评论 -
Redis基础1
文章目录Redis操作Redis数据Redis操作Redis数据原创 2022-02-28 12:19:56 · 556 阅读 · 0 评论 -
kafka原理2
文章目录生产者原理拦截器序列化路由指定消息累加器数据可靠性保证ACKACK应答机制kafka Broker存储原理存储总结高可用架构controller选举主从同步follower故障kafka消费者原理消费策略kafka为什么这么快生产者原理消息发送的整体流程。生产端主要有两个线程协调运行。这两条线程分别为main线程和sender线程(发送线程)。拦截器拦截器的作用实现消息的定制化(类似于Spring Intercepter)拦截器的代码定义在生产者代码中,实现ProducerIntercep原创 2022-02-28 06:54:11 · 1158 阅读 · 0 评论 -
Kafka原理1
文章目录KafkaKafka使用场景消息传递 Messagingwebsite Activity tracking 网站活动跟踪Log Aggregation 日志聚合应用指标监控数据集成+流式计算Kafka的安装Kafka架构分析Broker消息生产者消费者TopicPartition与ClusterPartition 副本 Replica机制SegmentConsumer GroupConsumer Offsetkafka开发kafka+canal消息的幂等性kafka生产者事务kafka与Rabbit原创 2022-02-28 03:53:29 · 1877 阅读 · 2 评论 -
Java中的BIO和NIO区别
文章目录Java中的NIO和BIOBIO原理NIO原理select()与epoll()select()与epoll()、poll的区别select()缺点epoll()优点Java中的NIO和BIO首先我们先了解一下,阻塞(Block)和非阻塞(Non-Block).阻塞:往往需要等待数据缓冲区的数据准备好以后才处理其它事情,否则一致等待在哪里。非阻塞:当进程访问我们的数据缓冲区的时候,如果数据没有准备好就立即返回,不会等待。如果数据以及准备好,也直接返回。阻塞和非阻塞是进程在访问数据缓冲区的时原创 2022-02-27 09:56:42 · 956 阅读 · 0 评论 -
微服务SpringBoot
文章目录微服务架构概念微服务与SOA的区别微服务架构概念微服务与SOA的区别原创 2022-02-21 03:15:26 · 1587 阅读 · 0 评论 -
Java并发工具线程池2
文章目录线程池什么是线程池合理的使用线程池,可以带来一些好处如果实现线程的复用?Java 提供的线程池 APIThreadpoolExecutor线程池初始化以后做了什么事情newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutor线程池的实现原理源码分析& executectl 的作用addWorkerWorker 类说明runWorker 方法getTaskprocessWorkerExitexecute 后续逻辑分析拒绝策略线程池使原创 2022-02-20 21:13:05 · 188 阅读 · 0 评论 -
Java并发工具J.U.C1
文章目录Lock (Synchronized)ReentrantLock(重入锁)ReentrantReadWriteLock(重入读写锁)StampedLock思考锁的实现(设计思维)Condition&CountDownLatchCyclicBarrierSemaphoreLock (Synchronized)在Lock接口出现之前,Java中的应用程序对于多线程的并发安全处理只能基于synchronized关键字来解决。但是synchronized在有些场景中会存在一些短板,也就是它并不适原创 2022-02-18 04:07:07 · 398 阅读 · 0 评论 -
Java并发与线程安全2
文章目录volatile关键字Volatile的原理volatile关键字Volatile的原理原创 2022-02-17 19:59:26 · 432 阅读 · 0 评论 -
Java并发编程与多线程原理1
文章目录线程与并发影响服务器吞吐量(并发量)的因素硬件软件层面并行和并发多线程的特点Java中的线程Thread这个工具在哪些场景可以应用线程的状态线程的启动线程与并发简单来说,并发是指单位时间内能够同时处理的请求数。默认情况下Tomcat可以支持的最大请求数是 150,也就是同时支持150个并发。当超过这个并发数的时候,就会开始导致响应延迟,连接丢失等问 题。**并发数定义:**每1秒所能处理的最大请求数量。影响服务器吞吐量(并发量)的因素影响服务器并发的因素,可以从硬件和软件2方面来说。硬原创 2022-02-16 20:42:22 · 371 阅读 · 0 评论 -
Java集合框架底层原理
Java集合框架Java集合框架List集合ArrayList底层实现原理ArrayList数组扩容技术(数组拷贝)扩容大小查询和删除集合中的泛型LinkedListVector 线程安全LinkedList和ArrayList区别Map集合HashMap底层实现原理链表存放的都是那些数据?数组初始化HashMap的扩容机制Java集合框架所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口。原创 2022-02-15 20:51:53 · 1757 阅读 · 0 评论 -
数据结构和算法分析2
@TOCTreeHeap 堆HashBFSDFSString Manipulation 字符串TrieUnion Find 并查集Dynamic Programming 动态规划原创 2021-12-17 10:01:45 · 593 阅读 · 4 评论 -
netty的I/O通信
netty的I/O通信TCP协议之长短连接的实现1、ServerSocket与SocketServerSocket类Socket类TCP协议之长短连接的实现1、ServerSocket与SocketServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:ServerSocket MyListener=new ServerSo...原创 2019-11-26 17:58:25 · 249 阅读 · 0 评论 -
java虚拟机原理(java虚拟机的基本结构)
虚拟机的分类虚拟机大体上分为系统虚拟机和程序虚拟机;如:大名鼎鼎的VMware就属于系统虚拟机,VMware是完全对物理计算机的仿真,提供一个可以运行完整操作系统的软件平台;程序虚拟机的代表就是java虚拟机,它专门为执行单个计算机程序而设计;在java虚拟机中执行的指令我们称之为class字节码指令。无论系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中;...原创 2019-05-27 17:21:01 · 221 阅读 · 0 评论 -
JVM内存配置
1.1 直接内存直接内存是java程序中非常重要的组成部分,特别是广泛用于NIO中,直接内存跳过了java堆,使java程序可以直接访问原生堆空间,因此在一定程度上加快了内存空间的访问速度。但是说直接内存一定就可以提高内存的访问速度也不见得!具体情况具体分析。相关配置参数:-XX:MaxDirectMemorySize设置直接内存默认值,为最大堆空间大小,即-Xmx直接内存达到上限时,...原创 2019-05-28 20:32:03 · 281 阅读 · 0 评论 -
JVM垃圾回收机制(java虚拟机垃圾回收算法和常见垃圾回收器)
1 垃圾回收算法引用计数法标记清除法标记复制法2 垃圾回收器原创 2019-05-28 20:57:44 · 400 阅读 · 0 评论 -
mysql数据库的锁机制
mysql数据库中的锁机制转载 2019-06-22 23:32:04 · 132 阅读 · 0 评论 -
mysql的事务
mysql的事务机制及其实现0、事务1、1.12、3、0、事务事务是关系型数据库区别于一切文件系统的重要特性,例如:文件系统的两个文件,修改其中一个文件的时候系统崩了,那么事后,很难再保证两个文件的一致了。通常数据库崩溃以后,还可以恢复数据,保证数据的一致性。数据库事务,是一组具有原子性的SQL语句,组内的sql语句要么全部成功,要么全部失败。1、1.12、3、...原创 2019-06-22 23:50:57 · 126 阅读 · 0 评论 -
MySQL InnoDB存储引擎事务的ACID特性
InnoDB存储引擎事务的ACID特性1、前言ACID问题:2、Redo log对比binlogredo log blockcrash recovery3、Undo log基本文件结构Undo log的格式purge4、多版本控制MVCCInnoDB存储引擎的行结构事务链表ReadViewRC和RR隔离级别ReadView的实现方式5、总结为什么InnoDB能够保证原子性A?用的什么方式?为什么I...转载 2019-06-23 00:29:30 · 145 阅读 · 0 评论 -
MySQL中InnoDB的多版本并发控制(MVCC)
@[TOC]MySQL中InnoDB的多版本并发控制(MVCC)阿里数据库内核2017/12月报中对MVCC的解释轻松理解MVCC简介MVCC(Multi-Version Concurrency Control)即多版本并发控制。MySQL的大多数事务型(如InnoDB,Falcon等)存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,他们一般都同时实现了MVCC。当前不仅仅是...转载 2019-06-23 04:10:11 · 173 阅读 · 0 评论 -
MySQL数据库中的日志
MySQL数据库中的日志MySQL日志:事务日志(mysql的innodb存储引擎层日志)重做日志(事务日志之redo log)1、redo log的作用2、redo log的内容3、redo log生命周期:redo log什么时候产生4、redo log生命周期:redo log什么时候释放5、redo log对应的物理文件6、redo log是什么时候写盘的?回滚日志(事务日志之undo l...原创 2019-06-27 01:05:25 · 448 阅读 · 0 评论 -
Java web开发技术总结
Java Web开发一、web请求的过程1、传统C/S网络架构2、B/S网络架构3、HTTP解析3.1常见的HTTP请求头3.2常见的HTTP响应头3.3常见的HTTP状态码400 Bad Request403 Forbidden404 Not Found500 Internal Server Error4、CDN工作机制5、负载均衡6、CDN动态加速二、Java I/O的工作机制一、web请求...原创 2019-09-13 08:35:15 · 764 阅读 · 0 评论 -
springBoot-mybatis逆向工程
Javaweb开发之-mybatis逆向工程springBoot+mybatis逆向工程springBoot+mybatis逆向工程——错误注意1springBoot+mybatis逆向工程——错误注意2springBoot+mybatis逆向工程——错误注意3springBoot+mybatis逆向工程springBoot+mybatis逆向工程——错误注意1springBoot+mybatis...原创 2019-04-08 19:33:57 · 1239 阅读 · 1 评论