Bendi新闻
>
还在为没机器练手搭集群而苦恼?快进来免费领机器了!

还在为没机器练手搭集群而苦恼?快进来免费领机器了!

8月前

阿里妹导读


论程序员的动手能力有多强?玩转 AI 生图、搭建 24 小时直播间、生成游戏积分排行榜…都能游刃有余。如果你也想动手一试,但苦于找不到清晰易懂、实用有效的学习资源,又缺少配套云资源的支撑,那就不要错过阿里云开发者推出的《动手吧,开发者》栏目——由知名技术 KOL 参与创作图文、视频形式的开发教程,不需要具备深厚的代码基础,开发者、小白都可以轻松 Get!新的一年,构建属于你的知识宇宙吧~

对于各种集群和分布式基础设施的搭建,其实是每个开发者进阶时候都要经历的一个成长过程。但是,这里对于不少开发者来说,却又面临着一个现实问题:我没有足够的资源(主机或配置)去尝试和练习。

最近,刚好阿里云有个可以免费领机器的活动,还挺适合正在学习这方面技术内容的小伙伴来领取做练手资源的。

如何领取

这个免费领机器的机会,其实是阿里云ECS面向学生和个人开发者的免费试用活动。它的规则是每个月提供280元的抵扣额度(实例部分200元,公网流量80元),在此额度内,可在5个地域试用1-4台

划重点!!!这次的免费试用跟以前不一样了,是可以领多台的!所以,我们只需要在免费额度之内,选择尽可能多的机器,就能满足我们练习搭建各种集群的需求了。

领取入口:扫描下方二维码,可直达活动现场

进入免费试用页面之后,按如图操作:


当然了,如果你不是用来练手,想用来部署自己的应用,还是根据自己应用对资源的要求选择配置高一些的,而不是堆机器数量。您只需要控制每个月ECS的费用在200元、公网费用80元以内,就可以免费使用。
另外,这里告诉大家一个小秘籍:那就是不用的时候开启停机模式!!!能省则省,榨干每一分额度 ^_^

练手推荐

如果你还是学生,或者平时参与的项目架构没那么复杂,不知道现阶段有哪些东西可以去学习,或者不知道应该按什么顺序去练手。那么给大家一些建议,可以跟着我下面的思路来尝试一下,这些内容都是后端开发推荐掌握的必备技能
下面我将以一个应用演进式发展的角度,来给大家梳理要学习的内容顺序,也让大家了解到每个技术的基本应用场景和引入时机。大家可以根据自己的情况选择性的去选择内容练手。

从0到1阶段

常来说,从0到1阶段,作为一个初创应用,没有什么处理上的压力,往往架构是非常简单的。一台服务器 + 一台数据库,基本就搞定了。如果你从来没有过这个体验,那么可以尝试一下下面的部署架构:
  • 一台机器搭建Nginx
  • 两台台机器部署应用(双实例)
  • 一台机器部署数据库。
这里一个关键点在于Nginx的‍负载均衡‍配置,实现一个基础且有一定高可用雏形的部署架构。得益于两台服务器部署应用,又有Nginx做负载均衡,还能实现滚动发布,上线升级不影响用户使用。

从1到100阶段

如果发展顺利,用户增长还不错,那么你们在做的产品需要进一波推广了。此时往往会碰到两个问题:
一个是应用服务器的负载增大,需要扩容应对更多请求。这个可以通过增加应用部署,配合Nginx负载均衡来实现即可,如果你没有像从0到1阶段的那种结构来部署的话,这个时候这一步就一定要补上了。
其次,影响性能处理最大的瓶颈大概率出现在数据库。所以,很多时候,我们将在这个阶段引入数据库的一些高级用法,比如:
  • 一主多从集群[1]:通过一主多从结构,实现读写分离,用更多的机器来分摊数据库的负载。
  • 多主多从集群[2]:通过多主多从结构,将业务数据分库处理。配合一些分库框架和中间件,实现更大量级的数据存储需求。

从100到10000阶段

随着业务的继续加速发展,数据访问层面的压力会越来越大。这个时候,我们往往都会开始引入缓存系统,来加速用户请求的响应,减少热点数据频繁访问数据库造成的压力,降低数据库的负载。所以,这个时候Redis往往就要登场了。缓存作为一个重要中间件,在上线的时候集群化部署肯定是需要的,所以下面这些,也是强烈建议大家可以尝试一下:
  • 主从模式[3]:主从模式是Redis三种集群模式中最简单的,在主从复制中,数据库分为两类:主数据库(master)和从数据库(slave)。其中,主从复制有如下特点:
    • 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库;
    • 从数据库一般是只读的,并且接收主数据库同步过来的数据;
    • 一个master可以拥有多个slave,但是一个slave只能对应一个master;
    • slave挂了不影响其他slave的读和master的读和写,重新启动后会将数据从master同步过来;
    • master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务;
    • master挂了以后,不会在slave节点中重新选一个master;
  • 哨兵模式[4]:主从模式的弊端就是不具备高可用性,当master挂掉以后,Redis将不能再对外提供写入操作,因此sentinel模式应运而生。sentinel中文含义为哨兵,顾名思义,它的作用就是监控redis集群的运行状况,此模式具有如下一些特点:
    • sentinel模式是建立在主从模式的基础上,如果只有一个Redis节点,sentinel就没有任何意义;
    • 当master挂了以后,sentinel会在slave中选择一个做为master,并修改它们的配置文件,其他slave的配置文件也会被修改,比如slaveof属性会指向新的master;
    • 当master重新启动后,它将不再是master,而是做为slave接收新的master的同步数据;
    • sentinel因为也是一个进程,所以有挂掉的可能,所以sentinel也会启动多个形成一个sentinel集群;
    • 多sentinel配置的时候,sentinel之间也会自动监控;
    • 当主从模式配置密码时,sentinel也会同步将配置信息修改到配置文件中;
    • 一个sentinel或sentinel集群可以管理多个主从Redis,多个sentinel也可以监控同一个redis;
    • sentinel最好不要和Redis部署在同一台机器,不然Redis的服务器挂了以后,sentinel也可能会挂掉。
  • 集群模式[5]:Redis的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台 Redis 服务器都存储相同的数据,很浪费内存,所以在 redis3.0上加入了Cluster 集群模式,实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的内容。下面是Cluster 集群模式的一些特点:
    • Sentinel模式基本可以满足一般生产的需求,具备高可用性。但是当数据量过大到一台服务器存放不下的情况时,主从模式或sentinel模式就不能满足需求了,这个时候需要对存储的数据进行分片,将数据存储到多个Redis实例中。cluster模式的出现就是为了解决单机Redis容量有限的问题,将Redis的数据根据一定的规则分配到多台机器。
    • Cluster可以说是sentinel+主从模式的结合体,通过cluster可以实现主从和master重选功能,所以如果配置两个副本三个分片的话,就需要六个Redis实例。因为Redis的数据是根据一定规则分配到cluster的不同机器的,当数据量过大时,可以新增机器进行扩容。
    • 使用集群,只需要将redis配置文件中的cluster-enable配置打开即可,每个集群中至少需要三个主数据库才能正常运行,新增节点非常方便。

野蛮发展阶段

接下来,如果业务发展一切顺利。这个时候,数据越来越多,业务需求也越来越多,参与的开发人员也越来越多。这个时候,上面的架构已经很难满足各类需求的快速迭代。于是又将引入各种有用的东西。所以,下面的东西也一样推荐掌握。
数据异构
现在的数据库世界,是一个百花齐放的阶段。没有一个数据库可以完美的解决所有问题,所以随着业务的发展,我们往往都需要引入各种不同的数据库来解决不同的业务需求。比如:引入Elasticsearch来解决搜索,引入InfluxDB解决时序类的统计等等。所以,对这方面感兴趣的话,可以尝试一下:
  • MongoDB集群搭建[6]

  • Elasticsearch集群搭建[7]

基础设施
随着团队的壮大,服务和系统越来越多。运维压力就会很大,所以一些分布式、微服务治理的工具也都可以引入来简化开发和运维。对这方面感兴趣的读者,也可以玩一下下面的搭建:
  • Nacos集群搭建[8]

  • Consul集群搭建[9]

  • K8S集群搭建[10]

随着服务和系统的增多,它们之间的通信有不少场景是不需要同步实现的。很多时候,系统间通过异步来实现会更加可靠。所以,消息中间件的引入也是必须的。目前最常用的有下面这些,如果您没有练过手,也是非常推荐要掌握一下的:
  • RabbitMQ集群搭建[11]

  • Kafka集群搭建[12]

  • RocketMQ集群搭建[13]

上面DD主要介绍了一些我接触过的比较常用的内容。特定的业务还会有很多技术组件引入,如果上面没有包含的话,您也可以前往阿里云开发者社区[14]搜索文章来尝试练手。如果您有什么集群搭建的内容推荐,也欢迎留言区补充~
参考资料:
[1]一主多从集群:
https://www.didispace.com/installation-guide/middleware/mysql-cluster-1.html
[2]多主多从集群:
https://www.didispace.com/installation-guide/middleware/mysql-cluster-2.html
[3]主从模式:
https://www.didispace.com/installation-guide/middleware/redis-master-slave.html
[4]哨兵模式:
https://www.didispace.com/installation-guide/middleware/redis-sentinel.html
[5]集群模式:
https://www.didispace.com/installation-guide/middleware/redis-cluster.html
[6]MongoDB集群搭建:
https://developer.aliyun.com/article/1131667
[7]Elasticsearch集群搭建:
https://developer.aliyun.com/article/1326202
[8]Nacos集群搭建:
https://developer.aliyun.com/article/1327985
[9]Consul集群搭建:
https://developer.aliyun.com/article/176145
[10]K8S集群搭建:
https://developer.aliyun.com/article/1323975
[11]RabbitMQ集群搭建:
https://developer.aliyun.com/article/1324352
[12]Kafka集群搭建:
https://developer.aliyun.com/article/1330196
[13]RocketMQ集群搭建:
https://developer.aliyun.com/article/1325736
[14]阿里云开发者社区:
https://developer.aliyun.com/
👇点击阅读原文,直达活动现场

微信扫码关注该文公众号作者

来源:阿里云开发者

相关新闻

卷麻了!AI+机器学习好发高分?!爆火后究竟还能发几篇?(小白友好)听说你还在为旅游攻略发疯?你的蜂来了!(送往返机票华为、比亚迪、宁德时代等均已布局!全球共振下,人形机器人商业奇点已来!一文读懂全产业链,国产替代和投资机会在哪?沙发还在靠墙?早过时了!客厅现在都流行这样装修!【装修干货】最后10个名额?CFA线上题库免费开放了?还带有视频讲解!什么?CFA线上题库免费开放了?还带有视频讲解!沙发还在靠墙放?早过时了!客厅现在都流行这样装修→【菠萝干货】还在用 Xshell ?你 out 了!!还在用Xshell?你out了!!查尔斯国宴招待日本皇室,结果就四道菜还没大肉?!日网友怒了:我们怎么招待女王的?仲夏至此始,青梅煮酒香!六月必买的新鲜青梅是谁还没囤?少量补货,手慢无!国产“机器狗”都能扛枪冲锋了?!画面太猛……BC Hrdro免费送空调了!还包安装!手把手教你怎么申请!这个夏天终于不用忍耐酷暑了!税后到手六位数!为何澳洲技工还在哭穷?回到5年前物价!机器猫来多伦多帮我穿越了?才知道,原来我以前的冬装都穿错了!为啥没人早告诉我啊?太牛了!当机器学习遇到AI,分分钟搞定6+生信SCI……(含免费教程)[捡漏]15万磅蔬菜免费领?!我没看错吧 大温这活动还年年都有!新泽西女子大西洋城爽中$200万!赌场竟黑脸不认账:“机器坏了 没赢”去大西洋城爽中$200万美元!赌场竟黑脸不认账:“机器坏了 没赢”昨夜,AI芯片新皇登场!黄仁勋连发6枚核弹,还复活了机器人瓦力惊艳了!在温哥华还能足不出户住纯粹的意式社区?羡煞旁人!世界最高男孩,10岁就长到1.9米,还在变高?!不想再长的他,准备去开颅了...怒了!温哥华还要在医院开设“吸毒区”?!列治文注射屋悲剧重演!
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。