主页
猿java
取消

每日 3000万订单的社区电商要如何分库分表

Hello,大家好,我是猿java。 在互联网大厂,分库分表是标配,作为跳槽季,分库分表肯定也是面试的热点,今天我们就来聊聊如何分库分表。 本文大纲 什么是分库分表? 如何切分库和表? 为什么要分库分表? 切分策略 分库分表产生的问题 分库分表如何落地? 申明:本文的数据库指 MySQL 数据库 1.什么是分库分表? 1.1 分库 分库是指在表...

学历不好,如何提升自我,获取高薪?

Hello,大家好,我是猿java。 疫情3年,互联网也进入了寒冬,有些企业甚至到了冰点,裁员-降薪,两个让互联网人看了瑟瑟发抖的字眼,互联网什么时候能转暖,谁也不知道,在当前这样未知的环境中,作为技术人该如何如何提升自我,获取高薪。 认清现实 环境 努力 选择 鸣谢 如果你觉得本文章对你有帮助,感谢转发给更多的好友,关注我:猿java,为你呈现更多的硬核文章。

从生活实例,理解 Reactor 和 Proactor 网络通信模型!

Hello,大家好,我是猿java。 我们都知道,科技领域的很多思维其实都是来自于现实生活,比如今天要分享的高性能网络通信模型 Reactor 和 Proactor。 为什么要学习 Reactor 和 Proactor 万丈高楼平地起,要想在技术上有所成就,就一定要修练好内功。随着互联网的快速发展,技术更迭的速度也是超乎想象,也许花大力气掌握的技能几年就过时了(比如 JSP,sturt...

Redis 是如何完美驾驭 Reactor模型和 IO多路复用机制?

Hello,大家好,我是猿java。 Reactor模型 Reactor 模型,它是一种优秀的编程模型,主要是用于服务器端处理高并发网络 IO 请求。Reactor 模型的核心思想包含下面 2个”3种”: 3种事件:连接事件、写事件、读事件; 3种角色:reactor、acceptor、handler; 在讲解 Reactor模型和2个”3种”的关系之前,我们先看一个真实...

免费且超实用的 IntelliJ 插件,强烈推荐!!!

Hello,大家好,我是猿java。 作为一名 Java程序员,IntelliJ 应该是非常主流的开发工具,今天推荐几款个人工作中经常使用的插件,真的是免费又超实用。 Translation 阅读纯英文资料对于大多数技术人来说是件头疼的事情,因此如果能在 idea 中进行翻译,可以高效阅读文档,因此强烈推荐插件:Translation 安装 使用 进入类,右键 -> T...

架构演变:微服务架构的四种常见模型

Hello,大家好,我是猿java。 互联网的快速发展,微服务架构已经成为了后端人员一个必备技能,今天我们就来分享微服务中四种常见架构模型,帮助我们更好的去了解微服务的发展。 洋葱架构 洋葱架构:Onion Architecture,它是由 Jeffrey Palermo(杰弗里·巴勒莫)在 2008年提出的,下图摘自作者原论文: 洋葱架构因为整个架构外形看似像洋葱,因此而得名,...

Gossip协议如何保证 Redis数据的一致性?

Hello,大家好,我是猿java。 今天我们分享的内容是:GGossip协议如何保证 Redis数据的一致性。 声明:本文基于 Redis 7.0 版本 提起 Redis,应该说是 NO SQL数据库的天花板了,作为一名 Java工程师应该并不陌生,那么,Redis 是如何保证集群节点间数据的一致性呢?今天就来聊一聊。 在开始今天的内容之前,需要先对 Gossip协议以及工...

分布式系统的一致性有哪些?

Hello,大家好,我是猿java。 今天我们分享的内容是:分布式系统的一致性有哪些? 一致性问题的来源 查阅了很多资料发现:最早研究一致性问题的场景不是分布式系而是计算机多处理器。 线性一致性 线性一致性,也叫强一致性(Strong Consistency)、原子一致性(Atomic Consistency)、立即一致性(Immediate Consistency)和外部一致性(...

Redis 分布式锁

你好,我是猿java。 今天我们分享的内容是:Redis 分布式锁。 Redis 部署方式 单机部署 单机部署,顾名思义,只部署一个Redis节点,其优点是简单,简单,简单;缺点也很明显:无法保证高可用。部署图如下: 主从部署 主从部署如下图,只能有一个 master节点和 n个 slave节点,其中slave也可以有更多的slave节点,为了保证高可用,通常会采用哨兵部署方...

新一代 Java垃圾回收神器:ZGC

你好,我是猿java。 今天我们分享的内容是:新一代 Java垃圾回收神器:ZGC。 ZGC 定义 ZGC(The Z Garbage Collector),是一种可扩展的低延迟垃圾收集器,主要是用来处理超大内存(TB级别)的垃圾回收。 ZGC 最初是 JDK 11 以一项实验性功能引入的,经过几个版本的迭代,最终在 JDK 15中被宣布为 Production Ready。 ZGC...