Category: Java Architecture

[转]缓存构架经验总结 – 5.1. 究竟先操作缓存,还是数据库? 0

[转]缓存构架经验总结 – 5.1. 究竟先操作缓存,还是数据库?

缓存存储,也是数据的冗余。 (1)数据库访问数据,磁盘IO,慢; (2)缓存里访问数据,存操作,快; (3)数据库里的热数据,可在缓存冗余一份; (4)先访问缓存,如果命中,能大大的提升访问速度,降低数据库压力; 这些,是缓存的核心读加速原理。

[转]缓存构架经验总结 – 4. 缓存,究竟是淘汰,还是修改? 0

[转]缓存构架经验总结 – 4. 缓存,究竟是淘汰,还是修改?

允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是改修改缓存,还是淘汰缓存?这是今天将要讨论的话题。 问:KV缓存都缓存了一些什么数据? 答: (1)朴素类型的数据,例如:int (2)序列化后的对象,例如:User实体,本质是binary (3)文本数据,例如:json或者html (4)…

[转]缓存构架经验总结 – 3.1. 服务通过缓存传递数据,绝不推荐 0

[转]缓存构架经验总结 – 3.1. 服务通过缓存传递数据,绝不推荐

《服务通过缓存传递数据,是否可行》一文引发一个服务之间“通过缓存传递数据”设计合理性的讨论。 如上图: service-A将数据放入cache service-B从cache里读取数据   这种架构设计好还是不好,网友进行了激烈的讨论,感兴趣的同学可以看下《服务通过缓存传递数据,是否可行》的评论,看到这么多互联网技术人对一个技术方案问题进行思考与探讨,很是开心。这里,分享下个人的观点。

[转]缓存构架经验总结 – 3. 缓存,你真的用对了么? 0

[转]缓存构架经验总结 – 3. 缓存,你真的用对了么?

缓存,是互联网分层架构中,非常重要的一个部分,通常用它来降低数据库压力,提升系统整体性能,缩短访问时间。   有架构师说“缓存是万金油,哪里有问题,加个缓存,就能优化”,缓存的滥用,可能会导致一些错误用法。 缓存,你真的用对了么?

[转]缓存构架经验总结 – 1. 进程内缓存,究竟怎么玩? 0

[转]缓存构架经验总结 – 1. 进程内缓存,究竟怎么玩?

除了常见的redis/memcache等进程外缓存服务,缓存还有一种常见的玩法,进程内缓存。 什么是进程内缓存? 答:将一些数据缓存在站点,或者服务的进程内,这就是进程内缓存。 进程内缓存的实现载体,最简单的,可以是一个带锁的Map。又或者,可以使用第三方库,例如leveldb。

Keep Calm, clear cache 0

[转]缓存构架经验总结 Index

缓存是互联网系统架构中必不可少的一环,近一个月,写了一些缓存的文字。 1.《1. 进程内缓存究竟怎么玩?》 缓存,可以分为:进程内缓存,缓存集群。文章介绍了: (1)什么是进程内缓存 (2)进程内缓存的优缺点 (3)进程内缓存保存一致性的3种方案 (4)到底什么时候用进程内缓存

0

[转]图数据库真的比关系数据库更先进吗?

  AI 前线导读:图数据库有很多用途,适用于比如反欺诈、智能推荐等等应用场景,也有人说:图数据库可以做到关系数据库可以做到的任何事情。那图数据库究竟是怎样存储这些数据的,为什么它能适用于上述那些场景,图数据库真的比关系数据库先进么?本文作者花了一些时间去认真了解了一下图数据库,并将与我们分享他对图数据库的一些心得体会。

[总结]数据库锁 0

[总结]数据库锁

  为什么开发人员必须要了解数据库锁? 超赞,InnoDB调试死锁的方法! InnoDB,并发如此之高的原因 InnoDB,巧妙实现四种隔离级别 InnoDB,索引记录上的三种锁 InnoDB,RR和RC的快照读有何不同 聚集索引与普通索引的差异 索引,底层是如何实现的?

[转]Kafka实践:到底该不该把不同类型的消息放在同一个主题中? 0

[转]Kafka实践:到底该不该把不同类型的消息放在同一个主题中?

Kafka 主题最重要的一个功能是可以让消费者指定它们想要消费的消息子集。在极端情况下,将所有数据放在同一个主题中可能不是一个好主意,因为这样消费者就无法选择它们感兴趣的事件——它们需要消费所有的消息。另一种极端情况,拥有数百万个不同的主题也不是一个好主意,因为 Kafka 的每个主题都是有成本的,拥有大量主题会损害性能。 实际上,从性能的角度来看,分区数量才是关键因素。在 Kafka 中,每个主题至少对应一个分区,如果你有 n 个主题,至少会有 n 个分区。不久之前,Jun Rao 写了一篇博文,解释了拥有多个分区的成本(端到端延迟、文件描述符、内存开销、发生故障后的恢复时间)。根据经验,如果你关心延迟,那么每个节点分配几百个分区就可以了。如果每个节点的分区数量超过成千上万个,就会造成较大的延迟。

0

[转]权衡取舍:企业落地微服务避坑指南

微服务是一种软件架构风格,以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。在去年,我们更多的还只是听到大家都在谈论微服务这个概念,但是在今年,就已经有很多微服务落地项目了,并且可以越来越多的企业在向微服务架构转型。企业到底要不要转向微服务,又该怎么向微服务转型?关于这些问题,我们采访了 BoCloud 博云高级解决方案架构师赵安全,来看看企业在微服务转型中应该注意什么。