泥瓦匠进阶:连接池原理设计并不难
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
目录
- 连接
- 连接池产生原因
- 连接池实现原理
- 小结
TEMPERANCE:Eat not to dullness;drink not to elevation.
节制:食不过饱,饮不过量。
一、连接
什么是连接?
连接,代表上游对下游的通信或会话。比如客户端连接服务器、服务器连接数据存储等
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
目录
TEMPERANCE:Eat not to dullness;drink not to elevation.
节制:食不过饱,饮不过量。
什么是连接?
连接,代表上游对下游的通信或会话。比如客户端连接服务器、服务器连接数据存储等
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
本文内容
记得一年前分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。
但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的一个路由需求来着手实现一次。
阅读全文摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
本文内容
– 秒杀业务难点
– 秒杀架构理论
– 业务设计 & 总结
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
本章内容
自定义属性快速入门
外化配置
自动配置
自定义创建 Starter 组件
摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
Go语言的内存模型规定了一个goroutine可以看到另外一个goroutine修改同一个变量的值的条件,这类似java内存模型中内存可见性问题(Java内存可见性问题可以参考拙作:Java并发编程之美一书)。
当多个goroutine并发同时存取同一个数据时候必须把并发的存取的操作顺序化,在go中可以实现操作顺序化的工具有高级的通道(channel)通信和同步原语比如sync包中的Mutex(互斥锁)、RWMutex(读写锁)或者和sync/atomic中的原子操作。
阅读全文摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!
关于Java核心技术学习积累的例子,是初学者及核心技术巩固的最佳实践。
包括基础语法,OOP,字符串,集合,IO,反射,线程,网络等。
未完成模块:java8,注解,fork/join,加解密等。欢迎fork,欢迎交流。
最近一周内找到了很多优秀的候选人,并且一面通过七个左右,效果非常不错,很多人反馈招聘难,所以借此文分享下招聘的体会!
招聘已经从广告时代进入社交时代!
很多人以为招聘是找到一个技术群发下招聘广告就会有人投简历,或者只要是顶级技术公司大家都会纷纷投简历进来,或者在朋友圈发一封高薪有诱惑的招聘广告就能收获到很多优秀的简历,但是很遗憾!我们都试过,能收获优秀的简历几乎没有。
阅读全文“分而治之“是理清思路和解决问题的一个重要的方法。大到系统架构对功能模块的拆分,小到归并排序的实现,无一不在散发着分而治之的思想。在实现分而治之的算法的时候,我们通常使用递归的方法。递归相当于把大的任务拆成多个小的任务,然后大任务等待多个小的子任务执行完成后,合并子任务的结果。一般来说,父任务依赖与子任务的执行结果,子任务与子任务之间没有依赖关系。因此子任务之间可以并发执行来提升性能。于是ForkJoinPool
提供了一个并发处理“分而治之”的框架,让我们能以类似于递归的编程方式获得并发执行的能力。
在Java中多线程之间是通过共享内存进行通信的,在go中多线程之间通信是基于消息的,go中的通道是go中多线程通信的基石。
在java中创建的线程是与OS线程一一对应的,而在go中多个协程(goroutine)对应一个逻辑处理器,每个逻辑处理器与OS线程一一对应。
每个线程要运行必须要在就绪状态情况下获取cpu,而操作系统是基于时间片轮转算法来调度线程占用cpu来执行任务的,每个OS线程被分配一个时间片来占用cpu进行任务的执行。
阅读全文DActor框架可同时支持同步和异步代码,简化在线异步代码的开发,用同步代码的思维来开发异步代码,兼顾异步代码的高并发、无阻塞和同步代码的易读性,可维护性。 基于协程思想设计 最大程度的降低阻塞,提高单个线程的处理能力,并可有效的降低线程数。