对于大数据大流量情况下微软架构的水平扩展的遐想(瞎想)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 最近回顾SAAS的书籍,书中的扩展架构都有点让我痴迷,但书中介绍的都是以Java,Apache,JBoss,Hadloop等技术实现负载均衡,大数据处理,对于微软架构并未提及,所以让我陷入无限遐想,夜不能眠啊。

最近回顾SAAS的书籍,书中的扩展架构都有点让我痴迷,但书中介绍的都是以Java,Apache,JBoss,Hadloop等技术实现负载均衡,大数据处理,对于微软架构并未提及,所以让我陷入无限遐想,夜不能眠啊。今天的文章纯属瞎想,有错的不要批评,大家一起讨论就可以了。

对于大数据处理来说,要解决的问题:
1、web服务器的负载均衡
2、web服务器的水平扩展
3、数据库的分库处理
4、数据库读写分离
5、数据库的水平扩展

大概的架构:
image (没什么工具,用word画的,丑了点,哈)

在大数据,大流量的情况下,web服务器的水平扩展及数据库的水平扩展尤为重要,水平扩展的好处就是省钱,服务器越多说明你流量也越多,平均的性价比也最划算。

WINDOWS服务器可以使用NLB来实现均衡负载,但查下来最大只支持32台服务器!(这我不是很理解,为什么有数量限制呢,那超过32台怎么办?)

在水平扩展中,我们需要实现如下问题:
1、环境的搭建
2、网站文件的同步

环境的搭建比较简单,在相同配置的服务器来说,我们只要先配置好一台服务器,进行ghost后,每增加一台服务器,就恢复一下就可以了。

文件的同步,目前有好几种解决方案:
1、主服务器目录 推送 到 各个子服务器,同步文件,各个子服务器需开通必要的端口,让主服务器与其通信。

2、子服务器每隔一段时间进行拉操作。这样只要主服务器开通必要的端口,子服务器每隔一段时间来进行请求。

对于此类系统来说,关键我们需要知道哪些文件新增、更改、重命名、删除,最好用一个Sqlite来记录下网站目录的子目录、文件的对应关系,比对尽量使用文件的md5。记录更新记录,可以让我们在同步的时候同步需要的文件,而不是整个网站目录,最好还有个版本号和同步开关,可以更好的让我们先进行测试,再进行同步。

数据库是大数据情况下最头大的事情,数据量的增加,连接数不够用,日志文件的激增,都是MSSQL会遇到的问题。

在大多数网站,都是读多写少,采用读写分离是个好方案,但需要注意的是数据库的同步,MSSQL有复制的功能,但总感觉不够好,小弟不才,也不太清楚有没有更好的方案。

解决了MSSQL的同步问题,基本上就能实现数据库的水平扩展了,也要注意好Log文件,这家伙膨胀起来不得了啊。

其次就是分库问题,分库能够很好的解决数据库堆积的问题,可以利用某些字段进行分库判断,一般的网站都会以用户ID进行分库,比如userid<= 10000进Master 1,10000<userid<=20000进Master 2等,但分库处理,需要在应用层有一个很强的业务逻辑进行判断,也可以多加一层专门的处理分库的。

以上都是针对微软架构,现在很多大型网站都用的非微软架构,用微软架构的不多,原先京东、大众点评都使用的微软架构,但在随后数据量激增的情况下,都转到java apache旗下,现留的估计已经不多。之前在5173用的微软架构,现在5173的技术部门很强大了,不知道是否还延续着。

作为程序员,我们也可以转到其他语言,架构,但习惯了微软开发,一下子换到其他架构还真有点不太习惯,开源项目多是个好事,能让我们减少很多事情,但太多也未必是好事,会得选择纠结症的。前几年我都会在纠结到底JAVA好还是Net好,因为Java工资高,Net工资低(普遍现象哦),现在不纠结了,语言只是工具,即使老板要求用Java开发,我们也会拿起Eclipse来进行开发,只是进度快慢问题而已。

作为十年的程序员,一路风风雨雨,别问我工资多少,那永远是个痛。现在的我,想接触下微软架构下的大数据,有大拿觉得鄙人还行的,可以跟我联系下,不过鄙人家庭稳定,有儿一枚,所以希望是上海的企业。

起起伏伏,跌跌荡荡,谨以此文纪念我的十年IT路

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
2天前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
32 8
|
1月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
164 3
【赵渝强老师】基于大数据组件的平台架构
|
2天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
9 0
|
23天前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
深入理解微服务架构:构建高效、可扩展的系统
36 0
|
29天前
|
监控 测试技术 持续交付
深入理解微服务架构:构建高效、可扩展的系统
深入理解微服务架构:构建高效、可扩展的系统
45 0
|
17天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
26天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
40 3
|
1月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
16天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
130 68
从单体到微服务:如何借助 Spring Cloud 实现架构转型
下一篇
DataWorks