tanzhuo

tanzhuo

专研技术的程序员

Grpcs TLS 自签证书

由于微服务通讯需要进行数据加密以保证内网通讯安全。故此记录一下自签证书的生成过程。 以下是在 Linux 或 MacOS 系统上使用 OpenSSL 命令行工具生成自签名证书的步骤。这个过程将创建一个新的根证书(CA),然后使用这个根证书签名一个新的服务器证书。 生成根证书的私钥 openssl genrsa -out ca.key 2048 这个命令将生成一个新的 RSA 私钥,长度为 2048 位。这个私钥将被保存到名为 rootCA.key 的文件中。 生成根证书 openssl req -new -x509 -days 365 -key ca.key -out ca.crt 这个命令将生成一个新的 X.509 根证书,使用 SHA-256 算法进行签名,有效期为
2 min read

北京旅游规划

流程规划 旅游时间:2023-12-29 至 2023-01-01 (共计4天) 单人飞机往返:¥1250 酒店1间房4晚:¥1500(双人床)酒店位置就在王府井周围 考虑到老汉,老妈体力问题,旅游行程排得不急。大致分上午中午一处位置,晚上一处位置,整体节奏慢,而且走的景点都是顺路的并且相邻。酒店定在天安门附近,以天安门为中心,向周围景点扩散旅游。 2023-12-28 下午高铁出发石柱到达重庆(1个半小时),然后直接轻轨走江北机场, 18:30 的飞机到北京 20:55 ,酒店睡一晚(提前到达)。 2023-12-29 早上晚点9-10点去天安门游玩,旁边就是故宫,逛完大概中午。下午去天坛游玩,晚上去北京王府井逛一下吃点小吃。(3个景点,1个小吃点) 2023-12-30 早上晚点10点(太早人多)出发动车北京站出发去八达岭长城,预计游玩大半天,直到下午4-5点回北京站,晚上去逛北京鸟巢,水立方。(2个景点)
2 min read

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

Dinky

前言 Dinkey 作为一款开源的Flink Job 控制台,使用起来非常的简单,轻量,可以管理多个Flink 集群,通过控制台即可在线编辑Flink SQL,编辑完成后即可提交到对应集群进行 Job 构建执行。 官网地址 www.dlink.top 功能描述 内置整库同步功能,可以解决微服务数据孤岛问题,把微服务对应的数据库表数据同步到实时数仓。并且支持多版本的Flink SQL数据开发,并且有数据血缘分析。整体功能完善度不错,非常推荐使用。
1 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

Polaris Mesh

PolarisMesh是腾讯开源的一款用于构建微服务架构的组件,它提供了一种轻量级、高性能的服务网格解决方案。基于Go语言开发,对比同类产品Nacos,其功能的完善度,产品交互的体验上来说完善度要高上不少,并且对云原生的支持更加友好,微服务可以进行 无SDK集成接入。 PolarisMesh一个支持多语言、多框架的云原生服务发现和治理中心, 提供高性能SDK和无侵入Sidecar两种接入方式PolarisMesh 微服务治理 PolarisMesh提供了丰富的微服务治理功能,包括服务注册与发现、负载均衡、流量控制、熔断降级、服务限流等。这些功能可以帮助开发者更好地管理和控制微服务之间的通信和交互。 高性能代理 PolarisMesh内置了高性能的代理组件,可以实现快速的请求转发和响应处理。通过使用该代理,可以减少网络延迟,提高系统的吞吐量和响应速度。 多协议支持 PolarisMesh支持多种常见的通信协议,如HTTP、gRPC等,使得不同类型的微服务可以无缝地进行通信。这样,您可以选择适合您应用程序需求的协议,而不需要进行繁琐的配置和集成工作。
2 min read

阿里 ask 集群

前言 阿里云ASK(Alibaba Cloud ACK)集群是阿里云提供的托管式Kubernetes服务。它基于开源的Kubernetes项目,为用户提供了一个简便易用、弹性伸缩、高可用性和安全可靠的容器化部署和管理平台,相当于无服务器Kubernetes容器服务。您无需购买节点即可直接部署容器应用,无需对集群进行节点维护和容量规划,并且根据应用配置的CPU和内存资源量进行按需付费。ASK集群提供完善的Kubernetes兼容能力,同时降低了Kubernetes使用门槛,让您更专注于应用程序,而不是管理底层基础设施。 什么是容器服务 Serverless 版ACK Serverless_容器服务 Kubernetes 版 ACK-阿里云帮助中心本文介绍阿里云容器服务 Serverless 版的产品简介、核心优势、与ACK集群对比、应用场景、核心功能等信息,帮助您快速了解ACK Serverless集群。 ASK集群中的Pod基于阿里云弹性容器实例ECI运行在安全隔离的容器运行环境中。每个Pod容器实例底层通过轻量级虚拟化安全沙箱技术完全强隔离,容器实例间互不影响。 A
4 min read

架构设计原则

可扩展性 系统设计应该具备良好的可扩展性,能够支持未来的业务增长和需求变化。设计应该考虑到系统的模块化和分层架构,以便于添加新功能、处理更大的数据量和支持更多的用户。 可靠性 系统设计应该具备高可靠性,能够保证系统的稳定性和可用性。设计应该考虑到故障恢复机制、容错处理和备份策略,以便在系统发生故障时能够快速恢复并保证业务的连续性。并且高可用的架构需要具备:自动侦测、自动修复、自动切换。 极致性能 系统设计应该具备高性能,能够快速响应用户请求并处理大量的并发操作。设计应该考虑到合理的数据结构和算法选择、缓存策略、负载均衡和并发控制等,以提升系统的性能和吞吐量。 系统的性能由TPS决定,跟并发用户数没有多大关系。 系统的最大TPS是一定的(在一个范围内)但并发用户数不一定,可以调整。 建议性能测试的时候,不要设置过长的思考时间,以最坏的情况下对服务器施压。一般情况下,大型系统 (业务量大、机器多做压力测试,10000~50000个用户并发,中小型系统做压力测试,5000个用户并发比较常见。 吞吐量 (TPS) = 并发数/平均响应时间 安全性 系统设计应该具备高安全
3 min read

Ent-ORM

前言 Ent是由Facebook开发的一个基于Go语言的ORM框架,最初是作为Facebook内部项目而开发的。Ent最初的目标是为社交网络平台提供高效、可靠的数据访问和操作,后来被开源,成为了一个广受欢迎的Go语言ORM框架。 GitHub - ent/ent: An entity framework for GoAn entity framework for Go. Contribute to ent/ent development by creating an account on GitHub.GitHubent 框架的优势 1.高效性能:Ent采用了代码生成器,生成的代码非常高效,减少了ORM框架的性能损失。 2.易于使用:Ent提供了易于使用的查询构建器,可以轻松地构建复杂的查询语句。 3.可扩展性:Ent易于扩展,可以轻松地添加自定义的字段类型、查询操作和验证规则。 4.类型安全:Ent使用Go语言的类型安全来确保代码的正确性,
2 min read

Kratos

前言 Kratos是一款基于Go语言的开源微服务框架,由Bilibili开源并维护。提供了微服务所需的服务发现,注册,HTTP,GRPC,限流,配置中心等常用功能。框架设计合理,轻量,易上手。 框架优点 1. 高性能 Kratos框架使用Go语言的协程和高效的并发模型,能够支持高并发场景。此外,Kratos框架还使用了自研的GRPC框架,相比其他框架,能够更快地处理请求和响应。 2. 简单易用 Kratos框架提供了丰富的文档和示例,易于上手。框架的设计也非常简单,不需要开发者掌握过多的概念和技术。 3. 模块化设计 Kratos框架提供了一系列的模块,如配置、日志、数据库等,方便开发者快速搭建微服务。此外,Kratos框架还支持插件化开发,可以根据需要自行开发插件,扩展框架的功能。 4. 高度可定制化 Kratos框架提供了丰富的配置选项,可以根据不同的需求进行定制化配置。此外,Kratos框架还支持自定义中间件、拦截器等,开发者可以根据需要进行自行开发。 KratosKratos 具体功能 1. 微服务注册与发现:
4 min read

随心笔记

技术无止境 创新不停驻