互动
最近评论
文章60
2025
03 月 12 篇
分布式系统的麻烦
分布式系统的麻烦
摘要:分布式系统面临网络不可靠和时钟不同步的问题。网络中的异步分组网络可能导致消息延迟或丢失。计算机的时钟不完全准确,导致每台机器都有自己的时间概念。为了解决这个问题,系统需要使用单调钟和日历钟,并对时钟同步进行严格监控。在集群中,需要依赖逻辑时钟来保证事件顺序的安全性,并将时钟读数视为一个时间范围而非具体时间点。
领域对象的生命周期
领域对象的生命周期
摘要: 该文主要探讨了对象的生命周期中不同阶段的状态变化以及如何通过不同的设计模式如FACTORY、AGGREGATE和REPOSITORY来处理这些状态。首先,讨论了对象从创建到消亡的生命周期,以及在生命周期过程中可能会遇到的状态管理问题。接着,阐述了AGGREGATE的概念和作用,包括其在保持对象一致性、处理复杂关联模型中的固定规则以及如何封装内部结构等方面的重要性。随后,讨论了FACTORY的设计原则和其在创建复杂对象或AGGREGATE中的作用。文章还强调了在设计FACTORY时需要注意接口设计的原则。最后,探讨了REPOSITORY的概念和其在全局访问对象类型中的作用,包括其如何封装存储和查询技术,以及需要注意的事项,如类型抽象、解耦优点和事务控制权的处理。整体而言,该文旨在帮助读者理解如何通过不同的设计模式来管理对象的状态和生命周期。
领域驱动设计
Chaos Engineering & Finops
Chaos Engineering & Finops
摘要总结: 本文介绍了混沌工程的概念、流程和困难,以及其在系统健壮性方面的优点。文章还提及了Chaos Mesh的官方文档,其建立在Kubernetes CRD上,包括可视化组件、核心逻辑组件和执行组件。此外,文章还介绍了FinOps的概念,这是一种将财务和业务整合在云计算中的变革,旨在优化云支出。最后,介绍了kube cost工具作为FinOps实践应用的一个例子,它通过API获取应用信息和账单信息,结合监控数据来分析成本并提供消费方案。
Kubernetes
集群链路跟踪系统透视应用
集群链路跟踪系统透视应用
摘要: APM(应用性能管理)是一种主动监控应用程序环境多个方面的做法,旨在提前识别和缓解潜在问题。它涉及服务、基础设施、网络、主机和容器、第三方API和用户交互等方面的监控,有助于打破应用孤岛、满足客户需求、保护业务底线以及确保IT一致性。好的APM工具应具备实时通知、系统总览、数据历史、网站建议优化、程序性能监控和错误监控等能力。在国内微服务领域,Skywalking是一个常用的APM工具。其应用结构包括数据采集、OAP模块、前端展示和数据的保存,主要通过Agent提供数据采集,并将数据存入ES以方便结构化查询索引。
Kubernetes
MySQL 安装
MySQL 安装
摘要总结: 本文详细介绍了如何在Linux系统上安装MySQL服务的过程。首先,需要从MySQL官网下载对应版本的MySQL安装包,然后准备环境,包括创建用户和用户组,创建数据库存储目录,并修改MySQL启动配置文件。接下来,将解压后的文件移动到指定安装位置,并进行安装启动服务的过程。在安装过程中,需要初始化服务并设置密码,然后配置全局命令以便更方便地执行MySQL服务命令。最后,如果需要将MySQL服务卸载,需要停止服务,查看并卸载相关组件,并删除残留目录。整个过程需要谨慎操作,确保每个步骤的正确性。
LINUXMySQL
Tomcat+Nginx实现多应用部署
Tomcat+Nginx实现多应用部署
这篇文章是关于如何在Tomcat和Nginx上部署多个应用的配置方法总结。首先进入Tomcat目录,拷贝webapps文件夹用于第二个应用的部署。接着编辑Tomcat的server.xml配置文件,添加第二个应用的配置信息,包括Connector端口、Engine和Host等设置。然后配置Nginx,编辑nginx.conf文件,添加反向代理的相关配置信息。最后重启Tomcat和Nginx服务,两个应用就可以通过域名单独访问了。整个过程清晰明了,对于需要配置Tomcat和Nginx的读者具有很好的参考价值。
NginxTomcat
微服务概念
微服务概念
摘要总结: 本文介绍了微服务概念及其职责单一和自治性的特点,强调每个服务应独立部署和修改。微服务有助于实现技术异构性,提高系统可靠性、独立扩展性和简化部署。同时,通过比较微服务与共享库、模块等其它分解技术,突出微服务在分布式环境中的优势。微服务能实现服务的快速迭代和独立部署,有助于企业更快地采用新技术并理解其优势。然而,如何寻找微服务间的平衡和避免服务间过度耦合是一个重要问题。总的来说,微服务是一个应对分布式环境的高效解决方案,能够提高系统的可扩展性、可维护性和响应能力。
Alpine
Alpine
摘要: Alpine 操作系统是一个面向安全的轻型 Linux 发行版,以其小体积和快速包管理受到青睐。其优势在于镜像体积小、包管理工具速度快,但也有一些劣势,如小众劣势、底层依赖缺陷等。使用 Alpine 构建容器时可能遇到的问题包括 Python 容器构建速度慢、多层容器镜像构建错误、DNS 转发失败和二进制编译不兼容等。针对这些问题,可以通过替换基础镜像(如使用 Debian)来解决。总体而言,虽然 Alpine 在体积上具有优势,但在复杂场景下可能需要考虑使用其他功能全面、相对轻便的镜像。
DockerKubernetes
云原生概览
云原生概览
摘要: 本文介绍了云原生概念,包括容器化、微服务化、声明式API和不可变基础设施等关键要素。云原生旨在建立一个适应当前多变软件环境的可弹性、易管理、容错等技术体系。Docker和Kubernetes作为云原生重要组件,Docker负责容器的创建和运行,而Kubernetes则提供容器编排和管理功能。文章还概述了云原生生态环境,包括CNIA云原生技术生态图景和CNCF云原生计算基金会等。整体而言,云原生结合云计算特点,利用容器、微服务等技术降低系统复杂度,提高容错性,适应当前快速变化的应用需求。
Redis 高级应用
Redis 高级应用
非常详细,大致概述一下: 你介绍了Redis的主要架构和使用场景,包括基本应用、主从复制、哨兵模式和集群方案。其中,通过持久化和主从复制保证了数据的可靠性和可用性,哨兵模式则实现了自动故障转移,集群方案提供了高可用性和扩展性。在实际应用中,可以通过这些机制保障数据的稳定性和服务的高可用性。你通过搭建Redis集群的步骤展示了Redis的强大功能和应用价值。同时,提到了JedisCluster的使用方式,显示了其在处理大规模数据和复杂应用场景下的便利性和优势。此外,关于Redis的持久化、复制、哨兵模式和集群方案的详细介绍有助于理解Redis的工作原理和应用场景。总的来说,这是一个很好的Redis介绍和教程。
Redis
Redis 基础操作
Redis 基础操作
这篇文章主要介绍了Redis的基本概念,数据类型和常用指令。文章详细地描述了Redis的数据结构,包括字符串(String)、列表(List)、集合(Set)、哈希结构(Hash)、有序集合(Zset)和基数计算(HyperLogLog)等数据类型的特点和使用方法。同时,文章还列举了一些常用的Redis指令,如设置、获取、删除键值,处理字符串数字自增自减,操作Hash散列,处理List列表,操作Set集合,操作Zset有序集合和HyoperLogLog等。此外,文章还介绍了Redis的其他命令,如指定条件查询获取键、查看键是否存在、删除键、重命名键、设置生存周期、清除时间、获取配置节点信息、删除当前数据库的所有键和切换数据库等。整体上,文章内容准确,表达清晰。
Redis
Redis 安装与使用
Redis 安装与使用
摘要总结: Redis是一款高性能的键值分布式内存数据库,支持多种数据结构类型,具有原子性操作、持久化存储、主从备份等特性。其安装需要准备C语言编译环境,上传文件并编译安装。启动方式有前端和后端模式,可以通过客户端连接操作。在使用中需要注意配置日志文件和访问密钥,服务器安装时需更改默认端口并设置访问控制。Redis主要应用在缓存场景,也可用于任务队列、数据失效、分布式锁等方面,具体使用需根据业务场景而定。
LINUXRedis
你好啊!我是
勿川
后端工程 · AI 工具 · 系统设计
专注分享编程实战、后端开发、算法解析与工程化最佳实践。
近期关注 最近在写技术、工具和生活观察
最新评论
引用到评论