加载中
如何设计一个高并发系统?

 系统拆分 将一个系统拆分为多个子系统,用 Dubbo 来完成;每个系统连一个数据库。 缓存 大部分的高并发场景,都是读多写少,你完全可以在数据库和缓存里都写一份,然后读的时候大量走缓...

spring常问面试题

1、什么是Spring? Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性。Spring框架的目标是使得Java ...

02/14 13:31
123
mybatis面试热点

什么是Mybatis? Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直...

02/13 16:30
128
如何设计一个消息队列

一、支持可伸缩性 可以快速扩容,提高吞吐量和容量。设计一个分布式系统,类似于Kafka broker -> topic -> partition,每个 partition 放一个机器,就存一部分数据;资源不够时,增加partiti...

02/13 16:03
75
消息队列过期、溢出、积压问题

大量消息在 mq 里积压 如果此时修复consumer执行速度,再等着一条条执行,那修复积压数据效率会很低。 一般这个时候,只能临时紧急扩容了,具体操作步骤和思路如下: 先修复 consumer 的问题...

02/13 15:55
116
如何保证消息不被重复消费

Kafka重复消费的场景 Kafka 实际上有个 offset 的概念,每个消息写进去,都有一个对应的 offset代表消息的序号。consumer 消费了数据之后,定时定期会把消费过的消息的 offset 提交一下,表示...

02/13 15:45
59
如何保证消息的顺序性

1.为什么要保证顺序 消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常。举例: 比如通过mysql binlog进行两个数据库...

消息中间件的高可用

RabbitMQ 的高可用性 RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的。 RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。 单机模式: Demo 级别、本地启动...

02/11 16:38
76
MQ消息传输可靠性/消息丢失

RabbitMQ 解决方案 1、生产者将消息传输给mq时丢失 A:可以使用 RabbitMQ 提供的事务功能; 生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,再发送消息,如果消息没有成功被 Rabbit...

02/10 15:53
107
MQ优缺点及不同组件的区别

为什么使用消息中间件?消息队列核心使用场景<优点>:解耦、异步、削峰 (1)解耦 传统模式: 传统模式的缺点: 系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,如果...

02/10 15:07
112
redis热点问题

redis 简介 数据存储在内存中,读写速度快的数据库 分布式锁 提供多种数据类型来支持业务场景 支持事务、持久化、LUA脚本、LRU驱动事件、多种集群方案 为什么要用 redis 主要从“高性能”和“...

02/08 20:53
99
dubbo协议及序列化

Dubbo是 Alibaba 开源的分布式服务框架远程调用框架,在网络间传输数据,就需要通信协议和序列化。 一、通信协议 通信协议:Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis...

dubbo负载均衡和集群容错

一、简述 在一个分布式系统中,为了做到系统的高可用,即服务宕机时不影响对外正常提供服务,需要组建负载集群,当集群中某一节点没有及时返回数据时,需要有集群容错(重试)机制。 在分布式...

02/06 18:14
57
初识Dubbo

一、dubbo是什么 dubbo是一个分布式服务框架,提供高性能和透明化对rpc远程服务调用方案,以及SOA服务治理方案。 核心部分包括: 1、远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括...

02/06 17:01
58
序列化-常见面试题

1、什么是 Java 序列化 Java 序列化就是指将对象转换为字节序列的过程,而反序列化则是只将字节序列转换成目标对象的过程 2、序列化的作用 1)方便传输,速度快,还很安全,被调用方序列化,调...

01/27 15:57
85
IO流

Java中有几种类型的流? 1、字节流继承inputStream和OutputStream 2、字符流继承自InputSteamReader和OutputStreamWriter 字节流和字符流哪个好?怎么选择? 缓大多数情况下使用字节流会更好...

设计模式-代理模式

一、简介 代理模式:代理模式又叫委托模式,是为某个对象提供一个代理对象,并且由代理对象控制对原对象的访问。 Subject(抽象角色): 通过接口或抽象类声明真实角色实现的业务方法。 Real...

01/17 15:10
147
设计模式-观察者模式

一、简介 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式是一种对象行为型模式。 ...

01/16 16:49
94
设计模式-装饰模式

一、简介 1、概念 装饰模式又名包装模式,对客户端以透明的方式扩展对象的功能,是继承关系的一个替代方案。 但是大部分装饰模式都是半透明的<介于装饰模式和适配器模式直接>,允许装饰模式改...

01/14 19:21
108
设计模式-适配器模式

一、简介 适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。 适配器模式既可以作为类结构型模式,也可以作...

01/11 20:02
214

没有更多内容

加载失败,请刷新页面

返回顶部
顶部