SonarQube

前言 SonarQube是一个用于代码质量管理的开源平台,它可以帮助开发者在开发过程中识别和修复潜在的代码问题。SonarQube提供了静态代码分析、代码覆盖率报告、代码质量度量等功能,以帮助团队提高代码质量和降低维护成本。 Code Quality Tool & Secure Analysis with SonarQubeEmpower development teams with a code quality & security solution that deeply integrates into your enterprise environment that enables you to deploy Clean Code securely, consistently and reliably.Sonar SonarQube优势 1. 提高代码质量:SonarQube可以检测出潜在的代码缺陷、安全漏洞、性能问题等,帮助开发者在发布前修复这些问题,从而提高代码质量。 2.
3 min read

Canal 组件

前言 Canal是一款开源的数据准实时复制(CDC)组件 目前市面上常见的CDC组件有:Canal、Debezium、Flink CDC 目前他们的工作机制大致都相同,均是通过解析数据库Binlog日志来得出具体数据的变更信息与操作类型。目前Canal的作用场景,作为实时数据同步工具,同步数据库数据,或把数据变更信息投递到MQ队列中。 Canal 目前只支持MySQL数据库。5.x 8.x 版本。 GitHub - alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件阿里巴巴 MySQL binlog 增量订阅&消费组件 . Contribute to alibaba/canal development by creating an account on GitHub.GitHubalibaba 在高可用方面,Canal目前提供了集群方式,通过每个Service节点管理不同的同步任务实例进行任务的分发。
1 min read

HTTP 协议发展史

HTTP 是浏览器与服务端之间最主要的通信协议,HTTP 是应用层协议(7层),应用层产生的数据会通过传输层协议作为载体来传输到互联网上的其他主机中,而其中的载体就是 TCP 协议(3.0使用UDP),基于 TCP 协议进行连接,然后传输对应内容信息。 20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,这被认为是互联网的起源。70 年代,研究人员基于对 ARPA 网的实践和思考,发明出了著名的 TCP/IP 协议。该协议具有良好的分层结构和稳定的性能,并在 80 年代中期进入了 UNIX 系统内核,促使更多的计算机接入了网络。 1989 年,蒂姆伯纳斯-李博士发表了一篇论文,提出了在互联网上构建超链接文档系统的构想。在篇文章中他确立了三项关键技术:URI、HTML、HTTP。 基于这三项技术,
14 min read

隐藏性能杀手之 '伪共享'

随着CPU工艺的发展,目前的高端CPU已经存在几十核心百多个线程,并为CPU设计出了一二三级缓存。CPU的核心有了这些缓存就可以加快数据的处理,从而减少访问内存的频率,这样CPU的计算性能可以进一步得到提高。 CPU的缓存结构以及内存硬盘: 众所周知CPU去访问一次内存所需要的开销是非常之大的,想要获取一次磁盘上的数据更是需要等待较长的时间,虽然目前已经有很多解决方案如 mmap 技术来缓解这样的情况,但总体来说CPU的计算性能是整个计算机结构中的天花板,其他硬件从数据传输速度层面对比起来就显得拖后腿,那么我们来看一下具体CPU访问每个硬件的延迟: 存储器 存储介质 介质成本(美元) 随机访问延迟 L1 cache SRAM 7 1ns L2 cache SRAM 7 4ns Memory DRAM 0.015 100ns Disk SSD(NAND) 0.0004 150us Disk HHD 0.00004 10ms 可以得出外部存储设备容量越大成本越小,存储数据更多,但访问速度更慢,访问速度越快的设备造价更高,
6 min read

StarVCenter 私有云部署

一套国产超融合云平台IaaS软件,StarVCenter还提供了超融合技术,将计算、存储和网络等资源整合到一个硬件节点中,形成一个完整的虚拟化基础设施。这种超融合架构可以提高资源利用率,减少部署和维护成本,同时还可以提供更高的性能和可靠性。 官网文档:StarVCenter帮助文档 · StarVCenter帮助文档 (starvcs.com) StarVCenter的超融合技术包括以下特点: 1. 硬件节点整合:将计算、存储和网络等资源整合到一个硬件节点中,形成一个完整的虚拟化基础设施。 2. 简化部署:通过自动化部署和配置,简化了整个虚拟化环境的部署和维护。 3. 高性能和可靠性:通过整合计算、存储和网络等资源,提高了系统的性能和可靠性。 4. 灵活扩展:支持在线扩容和缩容,可以根据业务需要灵活调整资源。 总之,StarVCenter的超融合技术可以帮助用户实现高效的虚拟化基础设施部署和管理,提高资源利用率和降低成本。 StarVCenter追求极致好用,社区免费使用(不超过20台物理服务器)、社区免费技术支持、永久免费升级。 除了基本的虚拟化管理功能,Star
2 min read

7层网络协议

1、物理层: 解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 2、数据链路层: 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。 3、网络层: 计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。 该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。 4、传输层:
3 min read

Zookeeper 集群搭建

部署环境 操作系统 Debian 11.5.0 运行环境 OpenJDK-1.8.0_332 64-Bit Server VM Zookeeper版本:3.8.0 官方介绍 Zookeeper官方文档地址(下载的zip压缩包中\docs目录也自带文档):ZooKeeper: Because Coordinating Distributed Systems is a Zoo (apache.org) ZooKeeper 是一种用于分布式应用程序的分布式开源协调服务。它公开了一组简单的基元,分布式应用程序可以基于这些基元来实现更高级别的同步、配置维护以及组和命名服务。它被设计为易于编程,并使用根据文件系统熟悉的目录树结构设置样式的数据模型。它以 Java 运行,并具有 Java 和 C 的绑定。 ZooKeeper 的实施非常重视高性能、高可用性、
11 min read

关于Serverless架构

Serverless(无服务器架构)成为新的热点,无服务器云函数可以让用户无需关心服务器的部署运营,只需开发最核心的业务逻辑,即可实现上线运营,具备分布容灾能力,可以依据负载自动扩缩容,并按照实际调用次数与时长计费。 Serverless的优点是可以快速,低成本,无运维即可达到业务高可用上线。但也面临着与云厂商强行进行绑定,对于未来是否可以业务迁移到其他云厂商,目前看来还是有一定的成本,在函数FC中,我们会集成入 OSS,RDS,NAS等云厂商的服务,想要直接迁移其他云厂商的还是得去修改部分代码。 Serverless的每个函数都是沙箱环境,可以运行不同的语言,让每个语言发挥自己最擅长的领域,目前阿里云的函数计算服务 FC 每月可以 100w 次函数免费调用执行。这对于部分小微企业来说,是非常不错的选择,毕竟前期自己部署机房或低成本的云服务器都有着一定的开支,而Serverless在前期的按调用次数收费可以节约很大部分的上线部署成本。 但目前 Serverless 有一个冷启动得过程,导致在事件通知或HTTP第一次调用时,延迟将会根据容器启动时间而增加。不过也可以购买预备资源解决
3 min read

随心笔记

技术无止境 创新不停驻