
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
架构显然很重要。许多开发人员的目标是成为一名架构师。但什么是架构,为什么架构如此重要?为了回答这个问题,这里首先定义软件架构的含义。然后,讨论应用程序的架构是多维的,并使用一组视图或蓝图进行描述。接着,本文将强调软件架构的重要性,因为它对应用程序的质量有显著的影响。...
在使用Redis作为应用缓存来提高数据的读性能时,经常会遇到Redis与数据库的数据一致性问题。简单来说,就是同一份数据同时存在于Redis和数据库,如何在数据更新的时候,保证两边数据的一致性。首先,如果期望Redis与数据库保持强一致性,则必须额外引入分布式事务组件,通过一致性协议(如2PC、3PC等)来保证缓存和数据库的一致性。这里讨论的一致性是最终一致性,即Redis中的数据将最终和数据库中

本文主要介绍微服务架构是如何演进而来。微服务架构从单体架构演进而来。在单体应用相对较小时,应用的开发、测试和部署相对简单,但随着时间的推移,更多的功能被添加到应用中,代码的规模也进一步增长。作为功能扩展的结果,单体应用很快陷入单体地狱。开发变得缓慢和困难,因为系统本身过于庞大和复杂,以至于任何一个开发者都很难理解它的全部。这种复杂性逐渐形成一个恶性循环:由于代码库太难于理解,因此开发人员在更改时更
微服务架构基于多个服务构建应用,这些服务必须经常协作才能处理各种外部请求。因为服务实例通常是在多台机器上运行的进程,所以它们必须使用进程间通信进行交互。因此,进程间通信技术在微服务架构中比单体架构中扮演着更重要的角色。本文将探讨各种进程间通信机制,并讨论如何进行权衡。注意,需要牢记“没有银弹”这个大原则。选择合适的进程间通信机制是一个重要的架构决策。它会影响应用程序可用性。更重要的是,进程间通信甚
深层模型和柔性设计并非唾手可得。要想取得进展,必须学习大量领域知识并进行充分的讨论,还需要经历大量的尝试和失败。但有时我们也能从中获得一些优势。一位经验丰富的开发人员在研究领域问题时,他会想起以前这个问题是如何解决的。先前经历过的尝试和失败会突然间与新的情况联系起来。这些模式当中有一些已经记载到文献中供大家分享,这样我们就可以借鉴这些积累的经验。利用分析模式和设计模式,可以避免一些代价高昂的尝试和

现在计算机的发展离不开网络,特别是分布式应用(本质上就是计算机+网络),本文重点关注常见的网络IO模型以及经典的IO多路复用几种实现方式(select、poll、epoll)的比较,方便后续网络 IO 编程。

Java语言在处理浮点数,其实现逻辑与整数不同,如果使用不当可能会造成精度丢失、计算不准确、死循环等问题,严重的话,会造成经济损失。本文将从浮点数精度丢失入手,详细介绍下浮点数的原理及使用。







