上一页 1 ··· 9 10 11 12 13
摘要: 比如你拿个数据要写库,你先根据主键查一下,如果这数据都有了,你就别插入了,update 一下好吧。(高并发会有问题) 比如你是写 Redis,那没问题了,反正每次都是 set,天然幂等性。 比如你不是上面两个场景,那做的稍微复杂一点,你需要让生产者发送每条数据的时候,里面加一个全局唯一的 id,类似 阅读全文
posted @ 2019-04-21 21:46 windpoplar 阅读(3338) 评论(0) 推荐(0) 编辑
摘要: 一、术语 1.1 Broker Kafka 集群包含一个或多个服务器,服务器节点称为broker。 broker存储topic的数据。 如果某topic有N个partition,集群有N个broker,那么每个broker存储该topic的一个partition。 如果某topic有N个partit 阅读全文
posted @ 2019-04-21 21:06 windpoplar 阅读(2240) 评论(0) 推荐(0) 编辑
摘要: 1.消息队列的优点 1)解耦 场景:当A系统需要发送数据到BCD三个系统时。 如果使用接口调用,A系统是和BCD系统耦合在一起的,需要考虑BCD系统挂了怎么办?BCD系统消费失败怎么办?如果E系统也需要这个数据?如果B系统现在不需要这个数据? 如果使用MQ,A系统产生的数据,只要保证消息成功发送到M 阅读全文
posted @ 2019-04-21 12:04 windpoplar 阅读(2517) 评论(0) 推荐(0) 编辑
摘要: 1.项目的规模比数量更重要 2.由点及面的了解系统 了解整个系统的设计,难点和关键点。深入理解和挖掘。 3.系统故障后的技术复盘 故障报告详细的记录故障的处理过程,比如xxx时xx分,xxx做了什么操作,然后还会详细描述故障产生的原因和后续的改进措施。 定期举行故障复盘会议,大家会在一起讨论问题的根 阅读全文
posted @ 2019-04-20 16:28 windpoplar 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 研发工程师(RD)需要撰写的设计文档主要分为:总体设计文档 + 详细设计文档,后简称为“总设”+“详设”。 总设和详设都应该包含的部分:(1) 需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的story list部分;(2) 名词解释(可选):非相关领域内的同学需要看到文档需要提前了解的一 阅读全文
posted @ 2019-03-27 21:50 windpoplar 阅读(8317) 评论(0) 推荐(1) 编辑
摘要: 面试官是企业形象的代表,面试是一次买卖,买卖不成仁义在。面试官需要时刻提醒自己,要注意以下10点: (1)如果没有会议室,需要解释原因(例如:“公司发展快,将要建立新的办公楼”); (2)主动倒水给应聘人员; (3)主动握手,并自我介绍,可提前告知面试大致时间长度; (4)选派较专业的人员面试(代表 阅读全文
posted @ 2019-03-27 21:48 windpoplar 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 一、好接口的特性 (1)易学 (2)易用,甚至不需要文档 (3)难于误用 (4)容易阅读与维护 (5)容易扩展 二、接口设计实现的过程 (1)分析需求 考虑是否有更佳解决方案? 这是否使我们这真想要的需求? (2)设计小接口 这个阶段,快速敏捷迭代 小接口易于修改 小接口的实现给人自信,减少挫败感 阅读全文
posted @ 2019-03-27 21:40 windpoplar 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 从系统层面去优化系统往往有更为明显的效果,优化之前,可以思考,是否能够通过扩展系统来达到提高性能的目的:(1)Scale up:使用更强的硬件;(2)Scale out:使用更多的组件; 如果升级硬件的方法就能解决问题,为什么还要使用修改代码,调整架构这样大风险的举措呢?(需要考虑成本)以下是一些常 阅读全文
posted @ 2019-03-25 21:44 windpoplar 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一、什么是BitSet? 注:以下内容来自JDK API: BitSet类实现了一个按需增长的位向量。位Set的每一个组件都有一个boolean值。用非负的整数将BitSet的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet修改另 阅读全文
posted @ 2019-03-25 21:33 windpoplar 阅读(660) 评论(0) 推荐(0) 编辑
摘要: shutdown和awaitTermination为接口ExecutorService定义的两个方法,一般情况配合使用来关闭线程池。 方法简介shutdown方法:将线程池状态置为SHUTDOWN。平滑的关闭ExecutorService,当此方法被调用时,ExecutorService停止接收新的 阅读全文
posted @ 2019-03-17 10:26 windpoplar 阅读(10013) 评论(0) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13