麻了!一觉醒来,代码全挂了。。

news2024/11/17 9:29:35

作为⼀名程序员,相信大家平时都有代码托管的需求。

相信有不少同学或者团队都习惯把自己的代码托管到GitHub平台上。

但是GitHub大家知道,经常在访问速度这方面并不是很快,有时候因为网络问题甚至根本连网站都打不开了,所以导致使用体验并不友好。

经常一觉醒来,居然发现我竟然看不到我自己上传的代码了。。

那在国内,除了GitHub,另外还有一个比较常用的Gitee平台也可以用于托管代码。

Gitee访问速度倒是没问题,但是Gitee的免费版功能有限,在仓库容量、文件大小、团队协作研发管理等这块的高阶功能会有所限制,所以导致使用起来也会颇受限制。

再加上像代码这种重要数据放在别人的平台上总会有一些数据安全方面的担忧。

基于这些种种因素考虑,老规矩,我们还是决定自己动手来搭建一个企业级云端代码仓库。

说干就干,接下来我们就来上手实践

材料准备

关于代码托管平台,我们这里选择的是可以支持私有化部署的GitLab,相信应该有不少小伙伴或者团队都在使用。

这是一个企业级代码托管平台,功能很全,而且重点是支持个人私有化部署,这一点比较难得。

网上一搜,GitLab的安装方式有很多,可以通过安装包,也可以通过Docker镜像。但无论如何也得各种环境和配置搞一通,总体来说还是太麻烦了。

所以接下来我们将介绍一种更为优雅和快速的搭建方法,需要的素材很简单,那就是一台服务器。

以华为云为例,这里选用的是华为云Flexus X实例,它的快速入口如下(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

页面地址:https://www.huaweicloud.com/product/flexus-x.html

Flexus系列是原华为云耀系列的品牌及产品升级。在这次华为HDC2024的「Flexus 云服务暨柔性计算黑科技发布会」上,华为云发布了一系列Flexus云服务产品,包括大家已经比较熟悉的Flexus L实例(原云耀L实例)、Flexus X实例、Flexus云容器实例、Flexus云数据库RDS。

其中Flexus X实例则是华为云推出的新一代开箱即用、体验跃级的云服务器,基于创新柔性计算技术打造,汇集了很多华为云新推出的黑科技,面向大多数通用工作负载场景,性能出众,极具品价比。

如官网所述:

华为云Flexus X实例有几个主要特性:首先是1.6倍算力,内嵌智能应用调优算法和底层多重调优加速,GeekBench单核及多核跑分可达业界同规格独享型实例1.6倍;其次,能够实现综合降本30%,其首创智能资源预画像,帮助用户在华为云上推荐匹配的资源规格,实现迁移降本;业界首创CPU内存规格柔性定义,支持100+规格组合,匹配业务实际需求;第三,关键应用6倍加速,独有X-Turbo加速技术+大模型智能调度,针对 Nginx、MySQL、Redis 等常见应用做特殊优化,能够发挥更强效力;最后,旗舰级可靠性,拥有与华为云旗舰级云服务器产品相同的单AZ 99.975% 可用性,跨AZ 99.995%可用性,还可搭载多版本主机安全服务。

实不相瞒,每次看到这种性能强价格优的云服务器,都忍不住想来薅一把(手动doge)。

等下演示时我们就能看到,在Flexus X实例上面配置网站、跑数据库、部署应用都非常方便。

所以接下来,我们就来上手演示,看怎么把它用起来。

上手实践

实例化部署平台

首先我们直接访问华为云Flexus X实例的快速入口(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

可以按需初始化一台服务器实例,用作部署云端代码仓库的线上平台。

配置部分其实大家根据自己需求进行选择即可,这里有两个地方需要注意。

第一个是**【实例规格】**。

这里我选了一台2核4G的服务器。

众所周知,为了简化云资源管理与调度,云厂商通常设计了固定比例的算力规格供用户选择。

而这次我们使用的Flexus X实例则打破了规格固定配比,支持柔性算力随心配,可以做到算力规格量身定制,提供100+种规格组合,能以1U为单位进行调整,以帮助用户选到更契合自己业务的配置。

讲真,这个选规格的过程,还挺魔性的。

另外一个需要注意的地方就是**【镜像】**。

大家可以选择经典的CentOS、Ubuntu等Linux系统。

也可以选择华为云所独有的HCE操作系统,也即Huawei Cloud EulerOS,大家如果之前用过CentOS等Linux的话,那在这里也可以无缝切换过来。

除此之外,选择了HCE系统的另外一个好处就是该系统支持应用加速

Flexus X实例结合HCE系统,可以支持对MySQL、Redis、Nginx等关键应用进行性能加速,从而带来更跃级的使用体验。

实例化Flexus X实例时,只要选中对应的应用加速选项,即可获得开箱即用的最优性能。

然后剩余的其他部分大家按需进行选择和配置即可。

等待实例创建完成以后,接下来我们就可以通过给出的公网IP地址来远程连接上去进行服务器管理。

我们可以通过控制台自带的CloudShell来进行远登录:

也可以通过Secure CRT等SSH工具来进行远程连接管理:

安装宝塔面板

众所周知,宝塔面板是一款使用方便、功能强大的服务器运维管理工具,支持多平台和多系统。

那我们这一次也选用宝塔面板来实现应用的快速部署和管理。

在Flexus X实例上安装宝塔面板非常方便,只需在命令行执行一行代码即可实现:

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

安装完成后,等待出现如下信息即代表安装成功。

其中会给出宝塔面板的登录地址+端口,而下方的username和password则为宝塔面板的登录用户名和密码。

理论上来说,拿到了宝塔面板的登录地址之后,我们就可以在浏览器进行登录访问了,不过在此之前我们还需要完成一项配置,那就是:在Flexus X实例的安全组里放通宝塔面板的端口号。

我们回到Flexus X实例控制台,单击实例名称,选组“安全组”Tab页,然后进行规则配置。

选中“入方向规则”Tab页,点击“添加规则”,然后放通宝塔面板对应的端口号即可。

完成之后,我们再打开浏览器,输入上述宝塔面板的访问地址即可登录宝塔面板进行操作了。

那至此为之,我们就已经成功实现在Flexus X实例安装并登录宝塔面板,接下来我们就可以通过宝塔面板来部署更多应用了。

部署云端代码仓库

有了上一步已经就绪的宝塔面板,接下来我们就可以正式部署我们所需要的GitLab云端代码仓库了。

我们点击宝塔面板左侧的【软件商店】,我们可以直接在搜索栏中搜索“GitLab”来找到对应的应用安装镜像。

然后我们选中GitLab最新社区版进行安装即可。

此时宝塔面板就会帮助我们一键自动安装GitLab,非常方便,稍等片刻,安装过程就会完成。

这时候我们在设置中就可以拿到GitLab代码仓库的云端地址了。

注意:和前步骤一样,我们在正式访问云端代码仓库之前也需要在Flexus X实例的安全组规则中来放通GitLab服务对应的端口。

至此为止,大功告成,一个属于我们自己的云端代码仓库就顺利地在Flexus X实例上部署完成了!

大家也可以使用同样的方式在Flexus X实例上来部署各种其他应用以及软件环境。

接下来,我们来看一看Flexus X实例上云端代码仓库上线后的体验效果。

效果展示

打开浏览器,输入GitLab云端代码仓库的访问地址,就可以打开代码仓库登录界面。

登入后则可以看到如下主界面。

我们可以先在Preference里面做一些设置,包括修改系统语言以及相关页面的主题美化,然后就可以直接使用了。

可以看到,我们可以选择创建一个新的代码项目或者新的群组。

而在创建新代码项目时,既可以选择创建新项目来上传管理代码。

也可以选择直接同步GitHub上的项目代码仓库,非常方便。

可以看到,自建云端代码仓库的一大优势就是数据可控,个人和团队都能使用,对于私有内部项目也可以免费创建和使用。

除此之外,它还支持像持续集成、CI/CD流水线、监控、项目管理、Wiki等一系列团队代码项目所具备的各项功能。

大家可以根据自己的需求来定制使用。

性能提升实测

我们在选用华为云Flexus云服务器X实例时,一个非常重要的点就是它支持关键应用的性能加速

当我们在选配Flexus云服务器X实例时,可以选择HCE系统(Huawei Cloud EulerOS),Flexus X实例结合HCE,可以支持对MySQL、Redis、Nginx等关键应用进行性能加速,从而带来更跃级的使用体验。

换句话说,配置Flexus X实例时,我们只要选择对应的应用加速,即可获得开箱即用的最优性能。

为了验证该特性,我们这里就以MySQL为例来做一项性能压测对比测试

当我们在选购Flexus X实例时选择了HCE操作系统,并且勾选了MySQL应用加速。

那登录Flexus X实例后就会看到系统已经默认为我们安装了经过加速和优化后的MySQL 8.0.35版本。

作为实验对比组,这里选用一台同样安装了MySQL 8的其他云平台同样配置(2核4G)的业界U系列独享型实例来作为测试对比机器。

我们选用性能测试平台sysbench来作为MySQL性能压测工具。

首先我们分别在两台服务器上运行如下命令来构造测试表和数据。

sysbench --db-driver=mysql --threads=10 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=test --tables=10 --table_size=100000 oltp_read_write --db-ps-mode=disable prepare

然后再分别在两台服务器上来运行如下命令来对各自部署的MySQL应用进行性能压测。

sysbench --db-driver=mysql --time=10 --threads=10 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=test --tables=10 --table_size=100000 oltp_read_write --db-ps-mode=disable run

我们对比一下各自机器上MySQL的性能压测结果:

从压测数据对比可以看出,不论是MySQL数据库的读、写、事务等请求数据,还是Latency时延数据,华为云Flexus X实例上的MySQL性能很明显要高于其他同配置的测试对比机器。

当然,这里只是一个简单的压测,不同配置的Flexus X实例在MySQL的加速性能也有一些差异。按照华为HDC2024的「Flexus 云服务暨柔性计算黑科技发布会」上的现场实测展示,Flexus X实例的MySQL 性能最高可达业界同规格独享型实例的6倍,确实很惊艳。

背后的原因非常简单,因为Flexus X实例聚合了华为云项目长期的实战经验,并对关键应用进行了专门的应用调优。

所以这就使得对于同配置机器,华为云Flexus X实例可以承载更多的数据读写业务请求,从而更进一步降低上云成本。

写在最后

这篇文章我们主要是记录和梳理了一种非常方便且优雅的基于Flexus X实例自建云端代码仓库的方式,主打的就是一个方便和好上手。

一路使用下来,华为云Flexus X实例还是非常容易上手的,尤其是柔性算力应用加速这一块相较于传统的云服务器确实非常有优势。

再加上Flexus X实例的智能动态业务画像功能,在云服务器用量比较多的ERP/OA、SaaS集群部署、Web/App/小程序部署等实际业务场景,按照华为云的数据,搬迁到Flexus X实例上就能有30%的成本节省。
聊了这么多,落实到应用上,还是得自己上手实践一波。

感兴趣的小伙伴可以自己来尝试一波,现在华为云也提供了Flexus云服务的体验官计划,可以免费申请Flexus X实例测试使用,具体快速入口如下(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

大家有兴趣也可以试一试,相信会打开一个新世界的大门。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python创建websocket服务器,实现循环发送消息

WebSocket协议是在2008年由Web应用程序设计师和开发人员创建的,目的是为了在Web浏览器和服务器之间提供更高效、更低延迟的双向通信。它允许客户端和服务器在任何时候发送消息,无需重新建立TCP连接。WebSocket可以在Web浏览器和服务器之间传输文本和二进…

Linux命令----wc,uniq,sort的用法

1.wc的用法:wc 命令用于计算文件中的行数、单词数和字节数。 常用选项 -l:只显示行数-w:只显示单词数-c:只显示字节数-m:只显示字符数(与 -c 类似,但处理多字节字符)-L&#xff1a…

吴恩达机器学习 第三课 week1 无监督学习算法(下)

目录 01 学习目标 02 异常检测算法 2.1 异常检测算法的概念 2.2 基于高斯模型的异常检测 03 利用异常检测算法检测网络服务器的故障 3.1 问题描述 3.2 算法实现 3.3 问题升级 04 总结 01 学习目标 (1)理解异常检测算法(Anomaly Det…

线程也不是越多越好,多少是好?

前面我们评估了不同大小基因组构建索引所需的计算资源和时间资源和不同大小数据集比对所需的计算资源和时间资源。 下面我们进一步看下不同线程数的影响。 测试电脑配置 这是一个10核、20线程的处理器,主频2.8 G HZ,可超频到5.2 GhZ。 在Windows系统…

windows系统上nginx搭建文件共享

1、下载windows版nginx 下载地址 2、配置nginx 编辑nginx.conf配置文件 在http模块下添加这个参数 underscores_in_headers on;#修改location内容,共享哪个文件夹,就写哪个文件夹,最后一定要跟上/,否则无法访问 location / {…

Java内存模型中的“可见性”、“原子性”、“有序性”,它们如何影响多线程程序的行为?

在Java内存模型(Java Memory Model, JMM)中,“可见性”、“原子性”和“有序性”是确保多线程程序正确执行的三个核心概念。它们直接影响到多线程环境下数据的一致性和程序的行为。 可见性(Visibility) 概念&#xf…

Android 大话binder通信 (下)

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 前情提要 Android 大话binder通信 (上)主要介绍了矮挫丑进程一直暗恋白富美进程,遂发送情书给她,以表达对她的爱慕之情,而情书顺利的到达…

NFTScan | 06.17~06.23 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.06.17~ 2024.06.23 NFT Hot News 01/ Slerf 将向其 NFT 持有者空投,快照将在几小时内拍摄 6 月 17 日,Slerf 宣布将为其 NFT 持有者准备空投,快…

[C++]24:异常和智能指针

异常和智能指针 一.异常1.C/C的错误:1.C2.C3.三个关键字: 2.使用异常:1.基本概念:2.基本代码:1.基本使用:2.多个捕获:3.任意类型异常的捕获:4.异常的重新抛出: 3.异常安全…

RK3568技术笔记十八 Linux GPIO驱动程序中设备树分析

这段代码是RK3568芯片的设备树(Device Tree)片段,用于描述GPIO控制器的配置。 pinctrl: pinctrl { compatible "rockchip,rk3568-pinctrl"; // 兼容性字符串,指定此设备树节点适用于RK3568的引脚控制器 rockchip,grf…

汽车信息安全--HSM和TEE的区别

目录 HSM TEE TEE 和 HSM 技术特点与主要应用场景 TEE 和 HSM 相结合的方案 TEE 和 HSM 在车端的分布 HSM HSM指Hardware Security Module,它是一种有自己独立的CPU、密码算法硬件加速器、独立Flash等,用于生成、存储和管理加密密钥,以…

2024年商业管理与金融创新国际会议(BMFI 2024)

2024年商业管理与金融创新国际会议(BMFI 2024) 2024 International Conference on Business Management and Financial Innovation 【重要信息】 大会地点:上海 大会官网:http://www.icbmfi.com 投稿邮箱:icbmfisub-co…

高并发cn.hutool.http.HttpRequest请求优化

高并发cn.hutool.http.HttpRequest请求优化 文章目录 高并发cn.hutool.http.HttpRequest请求优化优化方向Async线程池管理Http请求处理流程Tomcat接收到请求后的处理流程Tomcat的线程分配和管理方案一方案二方案三如何启用Spring Boot Actuator 优化方向 Async线程池管理 使用…

用户态协议栈06-TCP三次握手

最近由于准备软件工程师职称考试,然后考完之后不小心生病了,都没写过DPDK的博客了。今天开始在上次架构优化的基础上增加TCP的协议栈流程。 什么是TCP 百度百科:TCP即传输控制协议(Transmission Control Protocol)是…

24 常用到的截图工具

1 语录 从此世界在我面前, 指向着我想去的任何地方, 我完全而绝对的主持着我 定义: 截图是将计算机屏幕上的当前显示内容保存为图片文件的行为。 概念: 全屏截图:捕捉整个屏幕的截图。区域截图:选择屏幕上…

【第十四课】区域经济可视化——标注

一、前言 地图上说明图面要素的名称、质量与数量特征的文字或数字,统称为地图 注记。只有图形符号而没有注记符号的地图,只能是一种令人费解的 “盲图”。 地图上的注记分为名称注记、说明注记和数字注记三种。名称注记用于说明各 种事物的专有名称&…

怎么使用RSI指标分析现货黄金行情走势?

拿到一波现货黄金行情走势,如何着手对其进行分析呢?投资者只要在网络上搜索一下,保管能够找到各种各样的答案,而本文要讨论的就是其中一种,我们借助RSI指标进行分析。 RSI就是相对强弱指标的简称,这是市场中…

车间现场管理那些事

在制造企业中,车间现场管理是至关重要的一环。车间现场管理包括了对生产设备、生产过程、产品质量以及员工行为的管理。有效的车间现场管理能够提高生产效率,降低成本,提高产品质量,并且能够保障员工的安全。那么,车间…

License简介和Licensecc的使用

License简介和Licensecc的使用 License简介什么是LIcense简易License制作加密扫盲对称加密非对称加密 Licensecc使用构建和编译在linux上进行编译UbuntuCentOS 7CentOS 8下载并编译配置编译和测试cmake 后可以跟的参数在Linux上为Windows进行交叉编译 在windos上进行编译MSVC (…

Linux 运维王者从不离手的10款工具

运维工程师在日常工作中频繁运用的10款工具,并细致阐述每款工具的功能、适用场景以及其卓越之处。 1. Shell脚本 功能:主要用于自动化任务和批处理作业。 适用场景:频繁用于文件处理、系统管理、简单的网络管理等操作。 优势:灵…