
面试
文章平均质量分 93
洛卡卡了
擅长写各种bug
展开
-
从单层到 MVC,再到 DDD:架构演进的思考与实践
分布式架构和微服务架构通过将系统拆分为独立的模块或服务,实现了更高的扩展性、容错性和灵活性,解决了集群架构在数据一致性、功能耦合等方面的局限性。这种解耦设计不仅提升了系统的三高能力(高并发、高可用、高性能),还增强了系统的敏捷性,能够更好地适应现代互联网应用的复杂需求。接下来,我们将进一步探讨在分布式与微服务架构的基础上,如何从传统的 MVC 架构向领域驱动设计(DDD)架构演进,以更好地应对复杂业务场景。原创 2024-11-08 12:18:34 · 1754 阅读 · 0 评论 -
如何选择最适合的消息队列?详解 Kafka、RocketMQ、RabbitMQ 的使用场景
消息队列是一个用于在分布式系统中传递消息的机制。它通过生产、存储和消费消息的方式,在不同系统或服务之间建立通信桥梁,帮助实现解耦和异步处理。生产者(Producer)生产者是消息的创建者。它负责将消息发送到消息队列中。生产者可以是系统中的某个模块、服务,或者用户操作触发的事件。无论消息的来源是什么,生产者的作用就是生成需要传递的信息。在业务系统中,生产者通常是业务事件的触发方,例如用户下单时生成订单信息,并将该信息发送到消息队列中,以便其他系统能够接收和处理该信息。存储处理中心。原创 2024-11-04 12:00:46 · 1625 阅读 · 0 评论 -
在工作中常用到的 Linux 命令总结
上面总结的不能涵盖我们日常开发工作中全部能用到的命令 不过我们这边多用熟能生巧 掌握一些自己日常工作中经常用的几个就足够了。原创 2024-11-01 18:38:57 · 1036 阅读 · 0 评论 -
高并发场景下的抢红包系统设计:实时拆分与预先生成方案的比较与优化
面试中经常会问到的一个经典场景问题是如何设计一个高并发抢红包系统。我之前的项目场景中也会涉及到群红包的业务逻辑。今天我们来一起讨论下这个业务场景设计原创 2024-11-01 13:53:51 · 1568 阅读 · 0 评论 -
Git 常用命令与开发流程总结
克隆特定分支(如develop通过git clone命令,开发者可以轻松将项目从远程仓库复制到本地,快速上手开发。创建和管理分支一般来说,当我们封装好了master主分支代码,或者从公司仓库克隆了代码后,就需要进入实际开发阶段。在日常开发中,我们通常会基于主分支创建新的分支,这样可以在不影响主分支的情况下,独立完成功能或修复工作,之后再将更改合并到主分支中。这一部分我们将介绍常用的分支管理命令。原创 2024-10-29 19:59:29 · 1134 阅读 · 0 评论 -
Elasticsearch入门:增删改查详解与实用场景
Elasticsearch,简称ES,是一个分布式、RESTful搜索和分析引擎,基于Apache Lucene构建。它能够以高效、灵活的方式存储、检索和分析大量数据,因此在全文搜索、实时数据分析和日志监控等场景中得到了广泛应用。在Elasticsearch中,增、删、改、查操作提供了对海量数据的高效管理能力,使其在处理复杂数据结构和实时查询场景中具有明显优势。新增操作:允许将文档数据快速存储到索引中,并支持指定或自动生成文档ID,确保数据的灵活存储和检索。查询操作。原创 2024-10-17 15:41:26 · 2807 阅读 · 0 评论 -
redis分布式锁的实现问题与解决方案详解
分布式锁是一种在分布式系统中用于控制多个节点对共享资源的并发访问的机制。它可以确保在分布式环境下,多个服务实例或进程在访问关键资源时不会发生竞争。分布式锁的目标是保证每次只有一个节点可以持有锁,并在操作完成后及时释放锁,以便其他节点可以继续操作资源。在分布式环境下,传统的单机锁(如Java中的或Lock)不再适用,因为这些锁无法在多个进程或服务器之间共享。因此,分布式锁的机制通常基于共享的存储系统(如Redis、Zookeeper等)来实现。原创 2024-10-17 11:44:32 · 1635 阅读 · 0 评论 -
php常用设计模式之观察者模式
观察者模式是一种行为型设计模式,允许我们定义一个事件触发机制,在事件源和响应操作之间建立解耦的通知关系。当某个事件发生时(例如支付成功),事件源会通知所有订阅的观察者,触发相应的处理逻辑。通过观察者模式,可以在运行时动态添加或移除观察者,使得系统具备高度的可扩展性和灵活性。通过观察者模式的优化设计,我们成功将支付成功后的多种操作分离为独立的观察者类,使得业务逻辑更加清晰、灵活。这样不仅降低了代码的耦合度,还实现了支付流程的扩展性,使得后续新增需求时无需修改主流程代码。原创 2024-10-16 19:03:29 · 1013 阅读 · 0 评论 -
Redis 性能优化选择:Pika 的配置与使用详解
Pika 是一种兼容 Redis 协议的高效存储引擎,设计初衷就是为了解决 Redis 在大数据场景下因内存限制而带来的瓶颈问题。与 Redis 将数据存储在内存中的方式不同,Pika 将数据存储在磁盘上,从而有效扩展存储容量,适应大规模数据的需求。当 Redis 的内存使用量超过 16 GiB 时,会面临多种限制,如内存容量受限、单线程阻塞、启动恢复时间长、内存硬件成本高、缓冲区容易填满、一主多从故障时的切换成本高等。Pika 的出现并非为了替代 Redis,而是为了补充 Redis。原创 2024-10-16 11:42:31 · 1667 阅读 · 0 评论 -
php常用设计模式之策略模式
首先,定义一个接口,规定所有支付方式的基本方法payphp策略模式通过将不同的算法或行为封装在独立的策略类中,使系统能够根据需要动态选择和切换策略。增强扩展性:增加新的策略时,只需创建新的策略类,不需要修改现有代码,符合开闭原则。减少条件判断:将不同算法或行为从客户端代码中分离,避免了大量的if-else或语句,使代码更简洁和易读。提高灵活性:策略模式让系统能够在运行时灵活选择和替换行为,满足多变的业务需求。当工厂模式与策略模式结合使用进一步解耦对象创建与行为执行。原创 2024-10-15 11:12:50 · 1100 阅读 · 0 评论 -
php常用设计模式之工厂模式
工厂模式类型特点适用场景缺点简单工厂模式单一工厂类,通过静态方法创建对象产品种类少、扩展性需求低不符合开闭原则,扩展性差工厂方法模式每个产品对应一个工厂类,符合开闭原则产品种类多,需支持系统扩展性增加系统复杂度,工厂类较多抽象工厂模式可以创建多个相关对象(产品族),满足复杂对象创建需求需要创建一组相关对象组合(产品族)扩展复杂,类结构较复杂通过这种对比表格和示例代码,读者可以更清晰地了解不同工厂模式的特点与适用场景,并能根据项目需求选择合适的工厂模式类型。原创 2024-10-15 11:10:24 · 1399 阅读 · 0 评论 -
php常用设计模式之单例模式
如果实例的初始化开销大,且不一定每次都使用,选择懒汉式,延迟加载可以节省资源。如果应用对响应速度有要求,且希望在系统启动时就获得实例,则选择饿汉式,它提供了线程安全的同时,也减少了同步处理的开销。接下来,我将通过单例模式分别实现 MySQL、Redis、MongoDB 和 Elasticsearch 的连接管理,展示如何在这些场景中应用单例模式。通过单例模式,我们能够高效地管理 MySQL、Redis、MongoDB 和 Elasticsearch 等资源的连接,实现了资源的合理分配与复用。原创 2024-10-14 13:22:54 · 2423 阅读 · 1 评论