02 2024 档案
摘要:消息中间件是一种用于构建分布式系统的软件基础设施,提供了一种异步的,可靠的,可伸缩的消息传递机制。 提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这
阅读全文
摘要:一、为什么要用分库分表 当不使用分库分表的情况下,系统的性能瓶颈主要体现在: 当面临高并发场景的时候,为了避免Mysql崩溃(MySql性能一般的服务器建议2000/s读写并发以下),只能使用消息队列来削峰。 受制于单机限制。数据库磁盘容量吃紧。 数据库单表数据量太大,sql越跑越慢 而分库分表正是
阅读全文
摘要:为什么要使用分布式缓存 高并发环境下,例如典型的淘宝双11秒杀,几分钟内上亿的用户涌入淘宝,这个时候如果访问不加拦截,让大量的读写请求涌向数据库,由于磁盘的处理速度与内存显然不在一个量级,服务器马上就要宕机。 缓存可以将经常读取的数据存储在快速的内存中,从而避免了频繁访问慢速的后端数据库。 这样可以
阅读全文
摘要:根据设计期的架构思想和运行期的不同结构分为: 面向服务的架构 分布式服务架构 微服务架构 1、面向服务架构。以业务服务的角度和服务总线的方式,一般是webservice与ESB,考虑系统架构和企业IT治理; 2、分布式服务架构。基于去中心化的分布式服务框架与技术,考虑系统架构和服务治理; 3、微服务
阅读全文
摘要:集中式系统 由一台或多台计算机组成的中心节点,数据集中存储在这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。其部署简单,不用考虑多个节点间的分布式协作问题。 分布式系统 分布式系统是一个由硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息
阅读全文
摘要:strace 用于跟踪系统调用和信号。 strace 是一个集诊断、调试、统计于一体的工具,我们可以使用 strace 跟踪程序的系统调用和信号传递分析程序,以解决问题或了解程序工作过程。当然 strace 与专业的调试工具比如说 gdb 之类的是没法相比的,因为它不是一个专业的调试器。 strac
阅读全文
摘要:Perl 的全称是 Practical Extraction and Report Language ,直译为 “实用报表提取语言”。通过名字可以看出Perl的主要应用是处理文件。 一,运行perl程序 在linux下运行Perl程序有两种方式(示例中在当前目录下创建script.pl): 1、使用
阅读全文
摘要:SDN是软件定义网络的简称,在SDN中,网络的控制面与数据面分离,并且通过中心控制器进行统一管理。SDN的主要目标是提高网络的灵活性、可编程性和智能化程度,从而更好地适应不断变化的业务需求。SDN可以通过控制器来管理网络设备,控制网络流量和优化网络服务质量。SDN还可以使网络更加安全,因为可集中管理
阅读全文
摘要:工厂里的组装线以快速、自动化、可重复的方式从原材料生产出消费品。同样,软件交付管道以快速、自动化和可重复的方式从源代码生成发布版本。如何完成这项工作的总体设计称为“持续交付”(CD)。启动组装线的过程称为“持续集成”(CI)。确保质量的过程称为“持续测试”,将最终产品提供给用户的过程称为“持续部署”
阅读全文
摘要:Scala是一种多范式的编程语言,它将面向对象和函数式编程结合在一个简洁的高级语言中,Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。 Scala基于JVM, 和Java完全兼容, 同样具有跨平台,可以执行好,方便的垃圾回收等特性;Scala是一种纯粹的面向对象语言;Sca
阅读全文
摘要:docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖到一个容器中,发布到流行的liunx系统上,或者实现虚拟化。 k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等。 一、虚拟化角度: 传统的虚拟技术,在将物理硬件虚拟成多套硬件后,需要再每套硬件上
阅读全文
摘要:SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境。 SaltStack作用于仆从和主拓扑。SaltStack与特定的命令结合使用可以在一个或多个下属执行。 主要用的语言为python 二、SaltStack的配置 使用自动化软件,实现在s
阅读全文
摘要:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部
阅读全文
摘要:1、区别 sizeof() 的值在编译时即计算好了,参数可以是指针、数组、类型、对象、函数等。 sizeof(指针) = 指针大小。 sizeof(数组名) = 数组占用总空间。 sizeof(类型) = 类型字节对齐后占用总空间。 sizeof(函数) = 函数的返回类型所占的空间大小。函数的返回
阅读全文
摘要:“数通”不是数字通信。数字通信是用数字信号作为载体来传输消息,或用数字信号对载波进行数字调制后再传输的通信方式。它可传输电报、数字数据等数字信号,也可传输经过数字化处理的语声和图像等模拟信号。 我们常讲的数通是数据通信,即通信技术和计算机技术相结合而产生的一种新的通信方式。传输信道将数据终端与计算机
阅读全文
摘要:D语言,一种通用计算机程序语言,威力强大、功能丰富,支持多种编程范式,例如面向对象,最初由Digital Mars公司就职的Walter Bright于2001年发布,意图改进C++语言。最新D语言被简称为D2。最主要的D语言的实现是DMD。 D语言源自C/C++,借鉴了众多编程语言的特色和现代编译
阅读全文