- 博客(346)
- 收藏
- 关注
原创 云原生--核心组件-容器篇-7-Docker私有镜像仓库--Harbor
定义:Harbor是由VMware开源的企业级容器镜像仓库系统,后捐赠给 CNCF (Cloud Native Computing Foundation)。它基于Docker Registry扩展了企业级功能,用于存储、分发和管理容器镜像(如Docker、OCI标准镜像)及其他制品(如Helm Chart、CNAB等)。镜像管理:提供安全、高效的镜像存储与版本控制。权限控制:支持细粒度的访问权限管理。安全扫描:集成漏洞扫描工具(如Clair)确保镜像安全。
2025-04-28 14:16:49
1407
原创 云原生--核心组件-容器篇-6-Docker核心之-镜像仓库(公共仓库,私有仓库,第三方仓库)
定义:Docker仓库(Docker Registry)是用于存储、分发和管理Docker镜像的集中式存储库。它类似于代码仓库,但专门用于容器镜像的版本控制和共享。它允许开发人员和IT团队高效地管理、部署和分享容器化的应用程序。存储镜像:提供统一的存储位置,保存不同版本的镜像。分发镜像:通过网络将镜像分发到不同环境(开发、测试、生产)。版本管理:支持镜像的多版本控制,方便回滚和部署特定版本。访问控制:私有仓库可以配置用户认证和权限管理,确保只有授权用户才能上传、下载或管理镜像。
2025-04-28 14:07:31
1100
原创 云原生--核心组件-容器篇-5-Docker核心之-容器
定义:Docker容器是基于Docker镜像运行的轻量级、独立、可移植的运行环境,它封装了应用程序及其依赖项,提供了一个隔离的执行空间。容器化应用比传统的虚拟机更加高效,因为它们共享主机操作系统的内核,而不是像虚拟机那样需要完整的操作系统实例。镜像(Image):只读模板,用于创建容器。它包含运行某个特定应用所需的操作系统、库、环境变量和文件等。容器(Container):镜像的运行实例,具有读写层(可写层)。可以基于同一个镜像启动多个容器,并且每个容器都是相互隔离的。
2025-04-27 23:04:28
922
原创 云原生--核心组件-容器篇-4-认识Dockerfile文件(镜像创建的基础文件和指令介绍)
定义:Dockerfile是一个文本文件,包含一系列Docker指令,用于自动化构建Docker镜像。Docker 在构建镜像时会按照Dockerfile中的指令逐步执行,每一行指令都会生成一个新的镜像层(layer)。这些层是只读的,并且可以通过缓存机制提高构建效率,最终生成一个可运行的容器镜像。标准化镜像构建流程。确保环境一致性(开发、测试、生产)。通过分层存储技术提升构建效率。Dockerfile 是容器化应用的核心,通过标准化构建流程确保环境一致性。
2025-04-27 22:52:25
847
原创 云原生--核心组件-容器篇-3-Docker核心之-镜像
定义:Docker镜像是一个只读的模板,包含运行应用程序所需的所有内容,包括代码、依赖库、环境变量、配置文件等。简单来说,Docker镜像是一个轻量级、独立、可执行的软件包,它包含了运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件等。可以看作是应用程序或服务的“快照”。核心目标:确保应用在不同环境中(开发、测试、生产)的行为一致,实现“一次构建,随处运行”。环境一致性:避免因环境差异导致的“在我的机器上能运行”问题。快速部署:通过镜像快速创建容器,缩短应用部署时间。
2025-04-26 23:40:12
975
1
原创 云原生--核心组件-容器篇-2-认识下Docker(三大核心之镜像,容器,仓库)
Docker是一种开源的应用容器引擎,是基于操作系统级虚拟化技术。允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何支持Docker的环境中运行。Docker容器是轻量级、独立且可执行的软件包,包含了运行所需的一切:代码、运行时、系统工具、系统库和设置。Docker是容器化技术的基石,通过轻量级虚拟化实现应用的快速部署、隔离和扩展。核心价值:标准化开发环境、提升资源利用率、简化运维流程。
2025-04-26 23:32:19
843
原创 云原生--基础篇-4--公有云、私有云、混合云介绍
由第三方云服务提供商(如AWS、Azure、Google Cloud)拥有并运营,通过互联网向公众提供计算资源(如服务器、存储、网络、数据库等)。资源由多个用户共享,用户按需租用并按使用量付费。私有云是为单个组织或企业单独使用而构建的云计算环境,通常部署在企业内部的数据中心或托管在第三方数据中心。私有云可以由企业自己管理和维护,也可以由第三方服务提供商提供管理服务。
2025-04-25 22:32:17
768
原创 云原生--核心组件-容器篇-1-Docker和云原生关系(Docker是云原生的基石)
总之:Docker是云原生技术栈的重要基石,而云原生则为Docker容器提供了规模化、自动化和高可用的运行环境。两者相辅相成,共同推动现代应用架构向更高效、灵活的方向演进。逆风前行,Dare To Be!!!
2025-04-25 22:23:01
1061
原创 云原生--CNCF-3-核心工具介绍(容器和编排、服务网格和通信、监控和日志、运行时和资源管理,安全和存储、CI/CD等)
它是一款轻量级的容器化技术,可把应用及其依赖打包成独立的容器。借助Docker,开发者能够确保应用在不同环境中保持一致的运行状态。比如在开发环境中创建的容器,可以原封不动地在测试环境和生产环境中运行。CNCF的核心工具覆盖了云原生全生命周期,从容器编排(Kubernetes)到可观测性(Prometheus),再到服务网格(Istio/Envoy)和安全(Falco),形成了一套完整的技术栈。基础架构:Kubernetes + containerd + etcd。
2025-04-23 22:52:30
1944
原创 云原生--CNCF-2-五层生态结构(成熟度3层分类,云原生生态5层结构)
核心目标:为开发者提供构建云原生应用的工具和框架。关键工具:编程语言与框架:Rust、Go(支持WebAssembly)。Kubernetes Operators(自定义资源控制器)。CI/CD工具:Docker,一种轻量级的容器化技术,允许开发者将应用及其依赖打包成一个独立的容器;Helm(Kubernetes包管理工具,简化应用部署)。作用:这一层主要关注应用的定义、开发和部署过程。包括编程语言、框架、工具等,帮助开发者更高效地构建云原生应用。
2025-04-23 12:35:57
1037
原创 云原生--CNCF-1-云原生计算基金会介绍(云原生生态的发展目标和未来)
云原生计算基金会(Cloud Native Computing Foundation,CNCF)是由Linux基金会于2015年12月发起成立的非营利组织,旨在推动云原生技术的标准化、开源生态建设和行业协作。其核心目标是通过开源项目和社区协作,构建一个开放、可互操作的云原生技术生态系统。基于开源软件栈,利用容器、服务网格、微服务、声明式API等技术,构建弹性、可扩展的应用。动态环境适配:在公有云、私有云和混合云环境中运行,支持快速迭代和高可用性。2015年成立:由谷歌联合其他几家科技公司共同发起成立。
2025-04-22 23:13:58
872
原创 云原生--基础篇-3--云原生概述(云、原生、云计算、核心组成、核心特点)
云”指的是云计算环境,代表应用运行的基础设施和资源。依赖并充分利用云计算的弹性、分布式和资源池化能力。核心含义:1、云计算基础设施云原生应用的设计和运行完全基于云平台(如公有云、私有云或混合云),而非传统的本地物理服务器或数据中心。通过云计算的弹性、分布式、资源池化等特性,实现按需扩展、快速部署和高可用性。弹性伸缩:云原生应用可根据负载动态扩缩容(如电商大促时自动增加服务器资源),这是传统应用迁移到云后难以完全实现的。
2025-04-22 22:09:22
1519
原创 云原生--基础篇-2--云计算概述(云计算是云原生的基础,IaaS、PaaS和SaaS服务模型)
每种服务模型都有其特定的应用场景和优势。三者共同构成云计算服务的三层架构,用户可根据需求选择不同层级的服务,或混合使用(如企业用IaaS部署数据库,用PaaS开发应用,用SaaS管理办公)。IaaS为那些需要高度定制化和控制权的用户提供了一个灵活的基础架构;PaaS则更适合希望专注于应用开发而不想被基础设施管理所困扰的开发者;SaaS则是最便捷的方式,适用于希望通过最少的努力就能使用软件解决方案的用户。逆风前行,Dare To Be!!!
2025-04-21 22:21:50
1478
原创 云原生--基础篇-1--云原生的背景(传统部署方式,容器化的流行)
传统部署方式为早期的信息技术和互联网服务提供了必要的支持。随着技术的发展,尤其是云服务、容器化和微服务架构的兴起,这些限制逐渐被克服,使得软件部署更加灵活、高效且易于管理。然而,在一些特定场景下,传统部署方式仍然具有其独特的优势和适用性。容器化部署不仅改变了我们构建和部署应用程序的方式,还促进了DevOps文化和持续集成/持续部署(CI/CD)实践的发展。通过容器化,组织能够更快地响应市场变化,缩短产品上市时间,并降低总体拥有成本。
2025-04-21 22:11:56
790
原创 中间件--ClickHouse-14--案例-3-其他案例思路概述
高性能存储:利用列式存储和高压缩比,降低存储成本。实时分析:支持毫秒级响应的复杂查询,满足实时分析需求。高吞吐写入:支持每秒数百万条记录的写入,适应大规模数据场景。灵活扩展:支持分布式部署,能够处理 PB 级别的数据。逆着风向,Dare To Be!!!
2025-04-20 14:50:42
644
原创 中间件--ClickHouse-13--案例-2-用户行为分析
一家电商平台希望通过分析用户行为(如点击、浏览、购买等),提升推荐系统的精准度和用户体验。后端可以在一些商品详情或查询等接口,直接记录用户行为并传递到Kafka。目标:设计 ClickHouse 表结构,支持高效查询和聚合分析。目标:提供 REST API 接口,支持推荐系统调用用户行为数据。或基于接口特征或自定义注解,通过AOP来记录用户行为信息。目标:将分析结果(如用户兴趣、热门商品)反馈给推荐系统。在 pom.xml 中添加以下依赖。逆着风向,Dare To Be!
2025-04-20 14:45:53
825
原创 中间件--ClickHouse-12--案例-1-日志分析和监控
以上仅为简单的示例,实际生产中每一步都会比较复杂,需要结合实际需求在做详细的数据库设计以及接口设计等。这里我们主要是理解做的思路。Input为采集日志相关配置,如nginx的log日志文件,应用程序的log日志文件,output指定输出到kafka。一家互联网公司需要实时分析其服务器日志、应用日志和用户行为日志,以快速发现潜在问题并优化系统性能。在 Grafana 中添加 ClickHouse 数据源,配置连接信息。创建图表展示日志的关键指标,如错误率、请求延迟等。逆风成长,Dare To Be!
2025-04-19 21:47:39
1464
原创 中间件--ClickHouse-11--部署示例(Linux宿主机部署,Docker容器部署)
bash示例:2. 安装 ClickHousebash示例:3. 启动服务bash示例:(2)、Ubuntu使用APT安装1. 添加 ClickHouse 官方仓库bash示例:2. 安装 ClickHousebash示例:3. 启动服务bash示例:(3)、手动安装(适用于离线环境)1. 下载 ClickHouse 二进制文件访问 ClickHouse Releases,下载适合的版本,例如:bash示例:2. 创建默认配置目录bash示例:3. 启动 ClickHou
2025-04-19 21:35:26
1106
原创 中间件--ClickHouse-10--海量数据存储如何抉择ClickHouse和ES?
时间维度:如超过6个月未更新的数据。访问频率:如过去3个月未被查询的数据。
2025-04-18 14:09:12
1057
原创 中间件--ClickHouse-9--MPP架构(分布式计算架构)
ClickHouse 的 MPP 架构 通过分布式并行计算、列式存储和向量化执行,实现了 “亿级数据秒级响应” 的性能。高性能:适合海量数据的分析型查询。高扩展:通过分片和副本轻松扩展存储和计算能力。易用性:通过 SQL 接口和分布式表透明化分布式计算。在实际应用中,合理设计分片策略、利用分区裁剪和预聚合,可以最大化 MPP 架构的性能优势。对于需要处理 PB 级数据的 OLAP 场景(如日志分析、实时报表),ClickHouse 是一个极具竞争力的选择。逆风翻盘,Dare To Be!!!
2025-04-18 12:01:31
1316
原创 中间件--ClickHouse-8--SpringBoot代码集成示例
如下代码示例,展示了如何实现 MySQL 和 ClickHouse 的冷热数据分离查询,并通过定时任务完成数据迁移。
2025-04-17 21:20:28
326
原创 中间件--ClickHouse-7--冷热数据分离,解决Mysql海量数据瓶颈
当MySQL在大数据量场景下性能不足时,ClickHouse是一个非常优秀的解决方案,特别是在需要高性能分析查询的场景中。通过合理的数据分层架构和查询分离策略,可以充分利用ClickHouse的优势,同时保留MySQL在事务处理上的灵活性。不过,ClickHouse并非万能药。它最适合的是只读或批量写入的大数据分析场景。在引入ClickHouse之前,建议充分评估业务需求,并制定清晰的数据迁移和查询优化策略。逆风翻盘,Dare To Be!!!
2025-04-17 17:02:59
1082
原创 中间件--ClickHouse-6--SQL基础(类似Mysql,存在差异)
MySQL:id UInt32,总的来说,尽管两者都使用SQL作为接口语言,但ClickHouse更侧重于高效的读取和分析大规模数据集的能力,而MySQL则是一个全面的关系型数据库管理系统,更适合事务处理和动态的数据修改。因此,在选择合适的工具时,应根据具体的业务需求来决定。选 MySQL:需要事务、高并发写入、小数据集的 OLTP 场景(如订单系统)。选 ClickHouse:需要处理PB级数据、复杂分析查询、读多写少的场景(如日志分析、报表系统)。逆风翻盘,Dare To Be!
2025-04-15 09:41:36
1222
原创 中间件--ClickHouse-5--架构设计(分布式架构,列式压缩存储、并行计算)
ClickHouse的列式存储、向量化执行引擎和分布式架构 是其高性能的核心。通过 数据分块压缩、MPP 并行计算 和 ZooKeeper 协调,它在海量数据分析场景中实现了 秒级响应 和 线性扩展能力。其架构设计特别适合读多写少的场景,但需注意避免频繁更新/删除操作(因其追加写入模式)。逆风翻盘,Dare To Be!!!
2025-04-15 09:20:31
1090
原创 中间件--ClickHouse-4--向量化执行(什么是向量?为什么向量化执行的更快?)
向量:在计算机科学中,向量是一组同类型数据的有序集合,例如一个包含多个数值的数组。在数据库中,向量通常指批量数据(如一列数据的多个值组成的集合)。理解:Java中的一个int数组或String列表等都算一个向量。向量 A = [1, 2, 3, 4, 5]向量化(Vectorization):通过单条指令同时对多个数据元素进行操作的技术,例如用一条指令对一个向量中的所有元素执行加法运算。向量是一组连续存储的同类型数据,可以看作是一维数组。它是批量处理实现的基础。
2025-04-14 10:08:23
1071
原创 中间件--ClickHouse-3--列式存储和行式存储理解
在数据库存储中,列式存储(Columnar Storage)与行式存储(Row-based Storage)是两种不同的数据组织方式,它们各自适用于不同类型的应用场景。
2025-04-14 09:49:52
870
原创 中间件--ClickHouse-2--OLAP和OLTP
OLTP系统主要用于处理日常操作和事务,强调快速响应和高并发,常见工具如:Mysql;OLAP系统则侧重于数据分析,帮助用户理解数据背后的趋势和模式,支持决策制定过程,常见工具如:ClickHouse。
2025-04-13 17:43:41
288
原创 中间件--ClickHouse-1--基础介绍(列式存储,MPP架构,分布式计算,SQL支持,向量化执行,亿万级数据秒级查询)
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。它由俄罗斯的互联网巨头Yandex为解决其内部数据分析需求而开发,并于2016年开源。专为大规模数据分析,实时数据分析和复杂查询设计,具有高性能、实时数据和可扩展性等特点。ClickHouse是一款专为高性能OLAP分析设计的列式数据库,凭借列式存储、分布式架构和实时分析能力,特别适合处理海量数据的实时查询和复杂分析。不过,其局限性在于不支持事务和行级更新,更适用于读多写少、批量写入的分析型业务。
2025-04-13 17:40:10
1175
原创 力扣经典算法篇-12-加油站(贪心算法,临时数组保存差值法)
你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。
2025-04-11 18:20:10
341
原创 力扣经典算法篇-11-除自身以外数组的乘积(总乘积求除法,左右乘积法)
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。方法三的优化,左数组同理生成,右数组在遍历生成的同时就可以计算结果元素,并保存到结果中。注意:值为0的元素造成干扰,所以需要预先判断元素为0的数量和非0元素的乘积。先求出所有元素的乘积,之后除以当前元素值就是其余元素的乘积值。等于1时,元素值为0时,为非0元素的乘积;小于0时,即没有0值的元素,直接用总乘积除以当前元素获取。输出: [0,0,9,0,0]
2025-04-11 17:06:55
306
原创 Java常用工具算法-6--秘钥托管云服务3--微软zure Key Vault
Azure Key Vault是微软Azure提供的一项服务,旨在帮助用户安全地存储和管理敏感信息,如加密密钥、证书和密码等。它提供了一个集中的位置来保护这些重要资产,并且通过细粒度的访问控制和审计日志来确保安全性。
2025-04-11 15:27:40
1217
原创 Java常用工具算法-7--秘钥托管云服务2(阿里云 KMS)
建议在中国境内或国产项目使用阿里云KMS。在境外区域使用AWS可能比较合适。优势:中国境内低延迟、合规性强(等保2.0、国密算法)、成本低。局限:全球覆盖有限,国际合规认证(如GDPR)需额外配置。优势:全球覆盖、高可用性、丰富的集成生态、国际合规认证。局限:中国境内访问可能受网络限制,成本较高。逆风翻盘,Dare To Be!!!
2025-04-11 11:29:34
1054
原创 Java常用工具算法-6--秘钥托管云服务AWS KMS
之前我们介绍了一些常用的加密算法(如:对称加密AES,非对称加密RSA,ECC等),不论是哪一种都需要涉及到秘钥的管理。通常的做法都是把秘钥放到配置文件中进行配置,但是对于一些高度需要安全保证的场景来说,这样并不是安全的,容易造成秘钥泄漏,进而造成数据被破解。所以这个时候我们就需要借助一些相对安全的机制去管理秘钥,例如:亚马逊的AWS KMS,或Azure Key Vault等。本篇介绍下AWS KMS。
2025-04-09 23:58:49
1507
原创 Java常用工具算法-5--哈希算法、加密算法、签名算法关系梳理
1]、哈希与对称加密的结合(数据安全传输)[2]、哈希与非对称加密的结合(数据签名)逆风翻盘,Dare To Be!
2025-04-09 14:24:55
457
原创 力扣经典算法篇-10-跳跃游戏 II(贪心算法,反向递推最优解)
在初始状态为位置1时,跳跃到的最大位置end就是num[0]的值,所以跳跃到num[0]的位置时就需要记录跳跃次数+1。当然在之前的每一个位置都需要判断和获取下一个最大跳跃的目标位置,当跳跃到end时跳跃次数+1的同时,还要确定新的end位置就是之前所计算出来的最大值。思路:确定目标点,依次从前向后遍历之前的元素,校验哪一个元素可以最早一步跳跃到目标点,可以跳跃到的则是最优解。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。逆风翻盘,Dare To Be!
2025-04-05 16:56:45
178
原创 力扣经典算法篇-9-跳跃游戏(贪心算法,反向递推)
思路:要想达到终点,只需要依次遍历终点前的所有元素,获取每一步所能达到的最远距离,当最远距离超过目标距离则能达到,反之则不能达到。解释:无论怎样,总会到达下标为 3 的位置。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。最远距离 = 已知前一个元素的最远距离 和 当前元素位置计算的最远距离 的最大值。思路:正向达到终点的距离,则也可以反向递推,看能否从终点回到起点位置。输入:nums = [2,3,1,1,4]逆风翻盘,Dare To Be!
2025-04-05 14:26:33
476
原创 力扣经典算法篇-8-买卖股票的最佳时机 II(贪心算法,动态规划)
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [7,1,5,3,6,4]逆风翻盘,Dare To Be!
2025-04-04 22:42:42
308
原创 力扣经典算法篇-7-买卖股票的最佳时机
依次遍历数组,如果数组是递增的趋势,最小值不会发生变化,最大收益需要校验变更;如果是递减的趋势,则需要校验最小值是否发生变更,最大收益则无需校验。解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。创建一个临时数组保存每一个节点的收益情况,最后在遍历这个数组获取最大收益的值。输入:[7,1,5,3,6,4]
2025-04-04 21:09:22
256
原创 Java常用工具算法-4--签名算法(RSA,ECDSA,HMAC等)
定义:通过密码学方法生成的字符串,用于验证数据来源、完整性及不可否认性。核心功能:身份验证:确认信息由签名者发送。数据完整性:确保信息未被篡改。不可否认性:签名者无法否认签名行为。不可伪造性:他人无法伪造签名。
2025-04-02 10:29:32
909
原创 Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
定义:使用一对密钥(公钥与私钥)的加密算法,公钥公开,私钥保密。加密和解密使用不同密钥,且无法通过公钥推导出私钥。关键点:解决了对称加密的密钥分发问题,但计算开销相对较大。基本流程:(1)、密钥生成每个用户生成一对密钥:公钥(Public Key) 和 私钥(Private Key),二者数学关联但无法互相推导。(2)、加密与解密加密:发送方使用接收方的 公钥 对数据加密。解密:接收方使用自己的 私钥 对密文解密。(3)、数字签名签名:发送方用 私钥 对数据哈希值加密,生成签名。
2025-04-02 10:13:34
1369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人