摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) 1 背景 前面我们学习了Redis高可用的两种架构模式:主从模式、哨兵模式。 解决了我们在Redis实例发生故障时,具 阅读全文
posted @ 2022-08-05 14:58 Hello-Brand 阅读(186) 评论(0) 推荐(1) 编辑
摘要: 1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到、网络连接失败、空指针、非法参数等。 异常是一个事件,它发生在程序运行期间,且中断程序的运行。 Java 是一种面向对象的编程语言,它的异常都是对象,是Throwable子类的实例,当程序中存在错误条件时, 阅读全文
posted @ 2022-08-04 15:50 Hello-Brand 阅读(162) 评论(1) 推荐(0) 编辑
摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Redis配置主从模式,可以大幅度的提高Redis服务的可用性,减少甚至避免Redis服务发生宕机的可能 阅读全文
posted @ 2022-07-28 14:48 Hello-Brand 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1 Java注解基础 注解是JDK1.5版本开始引入的一个特性,用于对程序代码的说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。 它主要的作用有以下四方面: 生成javadoc文档,通过在代码里面标识元数据生成javadoc文档。 编译期的检查,通过标识的元数据让编译器在编译期间对代码 阅读全文
posted @ 2022-07-20 14:01 Hello-Brand 阅读(418) 评论(0) 推荐(1) 编辑
摘要: 1 背景 在高并发、高消息吞吐的互联网场景中,我们经常会使用消息队列(Message Queue)作为基础设施,在服务端架构中担当消息中转、消息削峰、事务异步处理 等职能。 对于那些不需要实时响应的的业务,我们都可以放在消息队列中进行传输。下面是用户在进行系统注册的时候场景,充分体现MQ的作用 可以 阅读全文
posted @ 2022-07-15 16:05 Hello-Brand 阅读(509) 评论(0) 推荐(1) 编辑
摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 1 主从复制介绍 上一篇《Redis系列2:数据持久化提高可用性》中,我们介绍了Redis中的数据持久化技术,包括 RDB快照 和 AOF日志 。有了这两个利器,我们再也不用担心机器宕机,数据丢失了。 但是持久 阅读全文
posted @ 2022-07-12 16:08 Hello-Brand 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 1 介绍 从上一篇的 《深刻理解高性能Redis的本质》 中可以知道, 我们经常在数据库层上加一层缓存(如Redis),来保证数据的访问效率。 这样性能确实也有了大幅度的提升,但是本身Redis也是一层服务,也存在宕机、故障的可能性。 一旦服务挂起,可能生产的后果包括如下几方面: 1、Redis的数 阅读全文
posted @ 2022-06-27 15:20 Hello-Brand 阅读(641) 评论(0) 推荐(2) 编辑
摘要: 1 背景 作为一个常年在一线带组的Owner以及老面试官,我们面试的目标基本都是一线的开发人员。从服务端这个技术栈出发,问题的范围主要还是围绕开发语言(Java、Go)等核心知识点、数据库技术、缓存技术、消息中间件、微服务框架的使用等几个方面来提问。 MySQL作为大厂的主流数据存储配置,当然是被问 阅读全文
posted @ 2022-06-25 10:35 Hello-Brand 阅读(497) 评论(1) 推荐(3) 编辑
摘要: 1 背景 经常会遇到这种情况,我们的业务已经稳定地运行一段时间了,并且流量渐渐已经上去了。这时候,却因为某些原因(比如功能调整或者业务扩展),你需要对数据表进行调整,加字段 or 修改表结构。 可能很多人说 alter table add column ... / alter table modif 阅读全文
posted @ 2022-05-31 14:41 Hello-Brand 阅读(1407) 评论(6) 推荐(9) 编辑
摘要: 1 背景 分布式系统绕不开的核心之一的就是数据缓存,有了缓存的支撑,系统的整体吞吐量会有很大的提升。通过使用缓存,我们把频繁查询的数据由磁盘调度到缓存中,保证数据的高效率读写。 当然,除了在内存内运行还远远不够,我们今天就以具有代表性的缓存中间件Redis为例子,分析下,它是如何达到飞起的效率。 2 阅读全文
posted @ 2022-05-21 14:19 Hello-Brand 阅读(597) 评论(0) 推荐(6) 编辑
摘要: ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC 微服务8:通信之RPC实践篇(附源码) 微服务9:服务治理来保证高可用 1 微服务带来的挑战 在第 阅读全文
posted @ 2022-05-06 14:25 Hello-Brand 阅读(639) 评论(1) 推荐(0) 编辑
摘要: 1 关于消息中间件 1.1 什么是消息中间件? 消息中间件是指在分布式系统中完成消息的发送和接收的基础软件。 消息中间件也可以称消息队列(Message Queue / MQ),用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可 阅读全文
posted @ 2022-04-14 14:08 Hello-Brand 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 1 理解泛型的本质 JDK 1.5开始引入Java泛型(generics)这个特性,该特性提供了编译时类型安全检测机制,允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口 阅读全文
posted @ 2022-04-11 14:25 Hello-Brand 阅读(532) 评论(0) 推荐(0) 编辑
摘要: ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC 微服务8:通信之RPC实践篇(附源码) 1 说明 上一节我们我们详细学习了RPC的概念和原理,以及 阅读全文
posted @ 2022-03-22 14:40 Hello-Brand 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 1 动态数据源的必要性 我们知道,物理服务机的CPU、内存、存储空间、连接数等资源都是有限的,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。而在复杂的互联网业务场景下,系统流量日益膨胀。为了解决这个问题,行业先驱门充分发扬了分而治之的思想,对大库表进行分割,然后实施更好的控制和管理 阅读全文
posted @ 2022-03-17 14:56 Hello-Brand 阅读(492) 评论(0) 推荐(3) 编辑
摘要: ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC 1 什么是RPC通信 RPC:Remote Procedure Call Protocol,指的是 阅读全文
posted @ 2022-03-15 17:14 Hello-Brand 阅读(659) 评论(0) 推荐(0) 编辑
摘要: ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 1 概述 回顾下前面几篇关于微服务的介绍,我们可以了解到从当单体系统到微服务,再到服务网格的演进过程。那单体系统和微服务相 阅读全文
posted @ 2022-02-18 15:58 Hello-Brand 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 1 回顾下MySQL主从复制 主从复制,是指建立一个和主数据库完全一样的数据库环境(称为从数据库),并将主库的操作行为进行复制的过程:将主数据库的DDL和DML的操作日志同步到从数据库上, 然后在从数据库上对这些日志进行重新执行,来保证从数据库和主数据库的数据的一致性。 1.1 为什么要做主从复制 阅读全文
posted @ 2022-02-10 13:40 Hello-Brand 阅读(787) 评论(2) 推荐(1) 编辑
摘要: ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 1 服务注册中心 前面我们对业内几种比较常见的注册中心做了介绍:Eureka、Zookeeper、Consul、Etcd。 并且在各个指标上做了 阅读全文
posted @ 2022-01-28 14:32 Hello-Brand 阅读(989) 评论(0) 推荐(1) 编辑
摘要: 1 介绍 在分布式系统中,由于涉及到多个不同业务module的交互,以及高并发的场景。我们需要系统能够生成一个跨业务module的全网唯一序列号,来保证我们业务操作的独立性和唯一性。 在常见的业务场景中,比如全局订单Id,唯一标识的支付编号等,都需要这个来保证。 那生成ID都有哪些解决方案呢?特别是 阅读全文
posted @ 2022-01-24 14:42 Hello-Brand 阅读(680) 评论(2) 推荐(2) 编辑
摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) 1 背景 前面我们学习了Redis高可用的两种架构模式:主从模式、哨兵模式。 解决了我们在Redis实例发生故障时,具 阅读全文
posted @ 2022-08-05 14:58 Hello-Brand 阅读(186) 评论(0) 推荐(1) 编辑
摘要: 1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到、网络连接失败、空指针、非法参数等。 异常是一个事件,它发生在程序运行期间,且中断程序的运行。 Java 是一种面向对象的编程语言,它的异常都是对象,是Throwable子类的实例,当程序中存在错误条件时, 阅读全文
posted @ 2022-08-04 15:50 Hello-Brand 阅读(162) 评论(1) 推荐(0) 编辑
摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Redis配置主从模式,可以大幅度的提高Redis服务的可用性,减少甚至避免Redis服务发生宕机的可能 阅读全文
posted @ 2022-07-28 14:48 Hello-Brand 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1 Java注解基础 注解是JDK1.5版本开始引入的一个特性,用于对程序代码的说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。 它主要的作用有以下四方面: 生成javadoc文档,通过在代码里面标识元数据生成javadoc文档。 编译期的检查,通过标识的元数据让编译器在编译期间对代码 阅读全文
posted @ 2022-07-20 14:01 Hello-Brand 阅读(418) 评论(0) 推荐(1) 编辑
摘要: 1 背景 在高并发、高消息吞吐的互联网场景中,我们经常会使用消息队列(Message Queue)作为基础设施,在服务端架构中担当消息中转、消息削峰、事务异步处理 等职能。 对于那些不需要实时响应的的业务,我们都可以放在消息队列中进行传输。下面是用户在进行系统注册的时候场景,充分体现MQ的作用 可以 阅读全文
posted @ 2022-07-15 16:05 Hello-Brand 阅读(509) 评论(0) 推荐(1) 编辑
摘要: Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 1 主从复制介绍 上一篇《Redis系列2:数据持久化提高可用性》中,我们介绍了Redis中的数据持久化技术,包括 RDB快照 和 AOF日志 。有了这两个利器,我们再也不用担心机器宕机,数据丢失了。 但是持久 阅读全文
posted @ 2022-07-12 16:08 Hello-Brand 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 1 介绍 从上一篇的 《深刻理解高性能Redis的本质》 中可以知道, 我们经常在数据库层上加一层缓存(如Redis),来保证数据的访问效率。 这样性能确实也有了大幅度的提升,但是本身Redis也是一层服务,也存在宕机、故障的可能性。 一旦服务挂起,可能生产的后果包括如下几方面: 1、Redis的数 阅读全文
posted @ 2022-06-27 15:20 Hello-Brand 阅读(641) 评论(0) 推荐(2) 编辑
摘要: 1 背景 作为一个常年在一线带组的Owner以及老面试官,我们面试的目标基本都是一线的开发人员。从服务端这个技术栈出发,问题的范围主要还是围绕开发语言(Java、Go)等核心知识点、数据库技术、缓存技术、消息中间件、微服务框架的使用等几个方面来提问。 MySQL作为大厂的主流数据存储配置,当然是被问 阅读全文
posted @ 2022-06-25 10:35 Hello-Brand 阅读(497) 评论(1) 推荐(3) 编辑
摘要: 1 背景 经常会遇到这种情况,我们的业务已经稳定地运行一段时间了,并且流量渐渐已经上去了。这时候,却因为某些原因(比如功能调整或者业务扩展),你需要对数据表进行调整,加字段 or 修改表结构。 可能很多人说 alter table add column ... / alter table modif 阅读全文
posted @ 2022-05-31 14:41 Hello-Brand 阅读(1407) 评论(6) 推荐(9) 编辑
摘要: 1 背景 分布式系统绕不开的核心之一的就是数据缓存,有了缓存的支撑,系统的整体吞吐量会有很大的提升。通过使用缓存,我们把频繁查询的数据由磁盘调度到缓存中,保证数据的高效率读写。 当然,除了在内存内运行还远远不够,我们今天就以具有代表性的缓存中间件Redis为例子,分析下,它是如何达到飞起的效率。 2 阅读全文
posted @ 2022-05-21 14:19 Hello-Brand 阅读(597) 评论(0) 推荐(6) 编辑