- 博客(7)
- 收藏
- 关注
原创 消息中间件-rocketmq 如何保证服务的稳定性
消息中间件-rocketmq 如何保证服务的稳定性对于一个消息中间件来说,无非从三个方面去看它的稳定性消息投递消息存储消息消费首先对于消息投递来说, rocketmq内部是有消息的重试机制,在一定重试次数和超时时间内 都可以进行重试。当然如果内部的重试还不能解决问题,就需要我们业务上来进行手动重试, 比如将消息先写入数据库,给定一个状态,当消息投递成功后,修改状态等。。。其次对于消息存储来说, rocketmq采用等是主从模式, 可以设置 master +多个slave 来保证高可用, 数据
2022-04-20 11:19:46
2179
原创 redis高频面试题(二)
#redis高频面试题1. 缓存回收/淘汰Redis对于内存的回收有两种方式,一种是过期key的回收,另一种是超过redis的最大内存后的内存释放。对于第一种情况,Redis会在:1、每一次访问的时候判断key的过期时间是否到达,如果到达,就删除key2、redis启动时会创建一个定时事件,会定期清理部分过期的key,默认是每秒执行十次检查,每次过期key清理的时间不超过CPU时间的25%,即若hz=1,则一次清理时间最大为250ms,若hz=10,则一次清理时间最大为25ms。对于第二种情况,
2022-04-19 16:38:00
258
原创 redis高频面试题(一)
redis 相关面试题1. 列举redis 常用的数据类型 和项目中的实际应用5大常用数据类型:string, list, set, zset, hash列举:list 可以用来实现简单的队列消息(仅限简单)set, zset 可以用来做集合, 交集, 并集, 比如 共同关注等hash 可以存储具体信息。比如某个用户的用户信息以自己实际项目为准最好2. redis 是多线程的吗/redis是线程安全的吗redis的工作线程(执行命令的线程)是单线程的在redis6.0版本之后, 处理网络
2022-04-18 10:50:57
558
原创 每日学一点-Go Map 的数据结构
map 数据结构golang中的Map是由链式哈希表实现的,底层是由hash实现的,数据结构为hash数组 + buckets桶 + 溢出的桶链表,每个桶存储最多8个key-value键值对链式哈希表从根本上说是由一组链表构成。每个链表都可以看做是一个“桶”,我们将所有的元素通过散列的方式放到具体的不同的桶中。插入元素时,首先将其键传入一个哈希函数(该过程称为哈希键),函数通过散列的方式告知元素属于哪个“桶”,然后在相应的链表头插入元素。// A header for a Go map.type h
2021-10-13 16:37:25
595
原创 每日学一点-GO如何调度的
@每日一道面试题-GOgolang的goroutine是如何调度的?golang的调度区别于c语言, 自己实现了一套调度模式 即常说的 GMP 模式GMP 模式G 就是go运行时产生的G对象;M 就是内核线程, 是执行者;P 就是调度处理器, 对 G 与 M 实现合理的 匹配;GO代码运行过程go程序运行时, 执行main 函数 , 会产生一个 G1, 主线程M1 会绑定一个空闲的P1 这时候P1就会执行G1main 函数 里如果还有新的goroutine 生成时, 就会产生新的G2
2021-10-12 16:56:22
242
原创 初学设计模式的一点疑惑--依赖注入模式传参问题
最近在 学习设计模式,初学 有些不理解的地方!class MysqlConfiguration{ private $host; private $port; private $username; private $password; private $db_name; public function __construct(string $hos...
2019-04-17 15:12:29
403
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅