- 博客(619)
- 资源 (20)
- 收藏
- 关注
原创 从0开始学大数据16-ZooKeeper是如何保证数据一致性的?
你可能还记得,我们在讲HDFS和HBase架构分析时都提到了ZooKeeper。在分布式系统里的多台服务器要对数据状态达成一致,其实是一件很有难度和挑战的事情,因为服务器集群环境的软硬件故障随时会发生,多台服务器对一个数据的记录保持一致,需要一些技巧和设计。这也就是我们今天要讨论的分布式系统一致性与ZooKeeper的架构。在讲分布式系统一致性前,我们先回顾一下HDFS。HDFS为了保证整个集群的高可用,需要部署两台NameNode服务器,一台作为主服务器,一台作为从服务器。
2023-05-20 10:21:31 502
原创 从0开始学大数据15-流式计算的代表:Storm、Flink、SparkStreaming
我前面介绍的大数据技术主要是处理、计算存储介质上的大规模数据,这类计算也叫大数据批处理计算。顾名思义,数据是以批为单位进行计算,比如一天的访问日志、历史上所有的订单数据等。这些数据通常通过HDFS存储在磁盘上,使用MapReduce或者Spark这样的批处理大数据计算框架进行计算,一般完成一次计算需要花费几分钟到几小时的时间。此外,还有一种大数据技术,针对实时产生的大规模数据进行即时计算处理,我们比较熟悉的有摄像头采集的实时视频数据、淘宝实时产生的订单数据等。
2023-05-20 10:18:40 673
原创 从0开始学大数据14-BigTable的开源实现:HBase
我们知道,Google发表GFS、MapReduce、BigTable三篇论文,号称“三驾马车”,开启了大数据的时代。那和这“三驾马车”对应的有哪些开源产品呢?我们前面已经讲过了GFS对应的Hadoop分布式文件系统HDFS,以及MapReduce对应的Hadoop分布式计算框架MapReduce,今天我们就来领略一下BigTable对应的NoSQL系统HBase,看看它是如何大规模处理海量数据的。
2023-05-20 10:17:54 403
原创 从0开始学大数据13-同样的本质,为何Spark可以更高效?
上一期我们讨论了Spark的编程模型,这期我们聊聊Spark的架构原理。和MapReduce一样,。但是和MapReduce僵化的Map与Reduce分阶段计算相比,Spark的计算框架更加富有弹性和灵活性,进而有更好的运行性能。
2023-05-20 10:16:13 219
原创 从0开始学大数据12-我们并没有觉得MapReduce速度慢,直到Spark出现
Hadoop MapReduce虽然已经可以满足大数据的应用场景,但是其执行速度和编程复杂度并不让人们满意。于是UC Berkeley的AMP Lab推出的Spark应运而生,Spark拥有更快的执行速度和更友好的编程接口,在推出后短短两年就迅速抢占MapReduce的市场份额,成为主流的大数据计算框架。读到这里请你先停一下,请给这段看似“没毛病”的引子找找问题。
2023-05-20 10:13:09 59
原创 从0开始学大数据11-Hive是如何让MapReduce实现SQL操作的?
前面我们讲过,MapReduce的出现大大简化了大数据编程的难度,使得大数据计算不再是高不可攀的技术圣殿,普通工程师也能使用MapReduce开发大数据程序。但是对于经常需要进行大数据计算的人,比如从事研究商业智能(BI)的数据分析师来说,他们通常使用SQL进行大数据分析和统计,MapReduce编程还是有一定的门槛。而且如果每次统计和分析都开发相应的MapReduce程序,成本也确实太高了。那么有没有更简单的办法,可以直接将SQL运行在大数据平台上呢?
2023-05-20 10:11:56 385
原创 从0开始学大数据10-模块答疑:我们能从Hadoop学到什么?
2个小时还上不了手,我也会放一放。最后,我在今天的文章里贴了陈晨、虎虎、您的好友William、lyshrine、不求、Panmax、wmg、西贝木土的留言,我认为是比较精彩很有深度的,也把它们分享给你,希望其他同学的思考也能对你有所启发,也欢迎你给我留言与我一起讨论。还有的时候,你学一样新技术却苦苦不能入门,可能仅仅就是因为你看的文章、书籍本身写得糟糕,或者作者写法跟你的思维方式不对路而已,并不代表这个技术有多难,更不代表你的能力有问题,如果换个方式、换个时间、换篇文章重新再看,可能就豁然开朗了。
2023-05-20 10:10:46 89
原创 从0开始学大数据09-为什么我们管Yarn叫作资源调度框架?
所谓高层模块和低层模块的划分,简单说来就是在调用链上,处于前面的是高层,后面的是低层。我们以典型的Java Web应用举例,用户请求在到达服务器以后,最先处理用户请求的是Java Web容器,比如Tomcat、Jetty这些,通过监听80端口,把HTTP二进制流封装成Request对象;然后是Spring MVC框架,把Request对象里的用户参数提取出来,根据请求的URL分发给相应的Model对象处理;再然后就是我们的应用程序,负责处理用户请求,具体来看,还会分成服务层、数据持久层等。
2023-05-20 10:07:33 74
原创 从0开始学大数据08-MapReduce如何让数据完成一次旅行?
上一期我们聊到MapReduce编程模型将大数据计算过程切分为Map和Reduce两个阶段,先复习一下,在Map阶段为每个数据块分配一个Map计算任务,然后将所有map输出的Key进行合并,相同的Key及其对应的Value发送给同一个Reduce任务去处理。通过这两个阶段,工程师只需要遵循MapReduce编程模型就可以开发出复杂的大数据计算程序。那么这个程序是如何在分布式集群中运行起来的呢?MapReduce程序又是如何找到相应的数据并进行计算的呢?答案就是需要MapReduce计算框架来完成。
2023-05-19 08:04:52 86
原创 从0开始学大数据07-为什么说MapReduce既是编程模型又是计算框架?
在Hadoop问世之前,其实已经有了分布式计算,只是那个时候的分布式计算都是专用的系统,只能专门处理某一类计算,比如进行大规模数据的排序。很显然,这样的系统无法复用到其他的大数据计算场景,每一种应用都需要开发与维护专门的系统。而Hadoop MapReduce的出现,使得大数据计算通用编程成为可能。我们只要遵循MapReduce编程模型编写业务处理逻辑代码,就可以运行在Hadoop分布式集群上,无需关心分布式计算是如何完成的。
2023-05-19 08:04:40 69
原创 从0开始学大数据06-新技术层出不穷,HDFS依然是存储的王者
我们知道,Google大数据“三驾马车”的第一驾是GFS(Google 文件系统),而Hadoop的第一个产品是HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性。如果我们将大数据计算比作烹饪,那么数据就是食材,而Hadoop分布式文件系统HDFS就是烧菜的那口大锅。厨师来来往往,食材进进出出,各种菜肴层出不穷,而不变的则是那口大锅。大数据也是如此,这些年来,各种计算框架、各种算法、各种应用场景不断推陈出新,让人眼花缭乱,但是大数据存储的王者依然是HDFS。
2023-05-19 08:02:07 95
原创 从0开始学大数据05-从RAID看垂直伸缩到水平伸缩的演化
经过前面的预习和上一期我们聊的,大数据技术主要是要解决大规模数据的计算处理问题,但是我们要想对数据进行计算,首先要解决的其实是大规模数据的存储问题。我这里有一个直观又现实的问题想问你:如果一个文件的大小超过了一张磁盘的大小,你该如何存储?我的答案是,单机时代,主要的解决方案是RAID;分布式时代,主要解决方案是分布式文件系统。其实不论是在单机时代还是分布式时代,大规模数据存储都需要解决几个核心问题,这些问题都是什么呢?总结一下,主要有以下三个方面。。
2023-05-19 08:01:44 81
原创 从0开始学大数据03-大数据应用领域:数据驱动一切
大数据出现的时间只有十几年,被人们广泛接受并应用只有几年的时间,但就是这短短几年的时间,大数据呈现出爆炸式增长的态势。在各个领域,大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析,一起来看看大数据到底能做些什么,我们学大数据究竟有什么用,应该关注大数据的哪些方面。
2023-05-19 07:59:48 84
原创 从0开始学大数据04-移动计算比移动数据更划算
大数据技术和传统的软件开发技术在架构思路上有很大不同,大数据技术更为关注数据,所以相关的架构设计也围绕数据展开,如何存储、计算、传输大规模的数据是要考虑的核心要素。传统的软件计算处理模型,都是“输入 -> 计算 -> 输出”模型。也就是说,一个程序给它传入一些数据也好,它自己从某个地方读取一些数据也好,总是先有一些输入数据,然后对这些数据进行计算处理,最后得到输出结果。但是在互联网大数据时代,需要计算处理的数据量急速膨胀。一来是因为互联网用户数远远超过传统企业的用户,相应产生了更大量的数据;
2023-05-19 07:59:18 129
原创 从0开始学大数据02-大数据应用发展史:从搜索引擎到人工智能
上一期我们聊了大数据技术的发展历程,事实上,我们对大数据技术的使用同样也经历了一个发展过程。从最开始的Google在搜索引擎中开始使用大数据技术,到现在无处不在的各种人工智能应用,伴随着大数据技术的发展,大数据应用也从曲高和寡走到了今天的遍地开花。Google从最开始发表大数据划时代论文的时候,也许自己也没有想到,自己开启了一个大数据的新时代。今天大数据和人工智能的种种成就,离不开全球数百万大数据从业者的努力,这其中也包括你和我。
2023-05-19 07:58:58 110
原创 从0开始学大数据01-大数据技术发展史:大数据的前世今生
在正式落地谈技术之前,我先花一些篇幅给你讲讲大数据技术的发展史,因为这对于你理解技术来说至关重要。从我的角度而言,不管是学习某门技术,还是讨论某个事情,最好的方式一定不是一头扎到具体细节里,而是应该从时空的角度先了解它的来龙去脉,以及它为什么会演进成为现在的状态。当你深刻理解了这些前因后果之后,再去看现状,就会明朗很多,也能更直接地看到现状背后的本质。说实话,这对于我们理解技术、学习技术而言,同等重要。
2023-05-19 07:58:12 233
原创 如何设计一个秒杀系统08-答疑解惑:缓存失效的策略应该怎么定?
但是我前面也说了,整个请求的处理涉及很多服务调用也涉及很多其他的系统,也会有部分的处理需要排队,所以可能有部分先到的请求由于后面的一些排队的服务拖慢,导致最终整个请求处理完成的时间反而比较后面的请求慢的情况。因为要保证数据的一致性。再比如说,正常整个网站上每秒只有几万个请求,这几万个请求可能是非常分散的,那么假如现在有一个秒杀商品,这个秒杀商品带来的瞬间请求一下子就打满了我们的服务器资源,这样就会导致那些正常的几万个请求得不到正常的服务,这个情况对系统来说是绝对不合理的,也是应该避免的。
2023-05-19 07:55:25 96
原创 如何设计一个秒杀系统05-影响性能的因素有哪些?又该如何提高系统的性能?
性能优化的过程首先要从发现短板开始,除了我今天介绍的一些优化措施外,你还可以在减少数据、数据分级(动静分离),以及减少中间环节、增加预处理等这些环节上做优化。首先是“发现短板”,比如考虑以下因素的一些限制:光速(光速:C = 30万千米/秒;
2023-05-18 09:44:21 76
原创 如何设计一个秒杀系统06-秒杀系统“减库存”设计的核心逻辑
今天,我围绕商品减库存的场景,介绍了减库存的三种实现方案,以及分别存在的问题和可能的缓解办法。最后,我又聚焦秒杀这个场景说了如何实现减库存,以及在这个场景下做到极致优化的一些思路。当然减库存还有很多细节问题,例如预扣的库存超时后如何进行库存回补,再比如目前都是第三方支付,如何在付款时保证减库存和成功付款时的状态一致性,这些都是很大的挑战。如果你也有实现减库存的经验或者问题,欢迎留言与我分享。
2023-05-18 09:44:18 239
原创 如何设计一个秒杀系统04-流量削峰这事应该怎么做?
今天,我介绍了如何在网站面临大流量冲击时进行请求的削峰,并主要介绍了削峰的3种处理方式:一个是通过队列来缓冲请求,即控制请求的发出;一个是通过答题来延长请求发出的时间,在请求发出后承接请求时进行控制,最后再对不符合条件的请求进行过滤;最后一种是对请求进行分层过滤。其中,队列缓冲方式更加通用,它适用于内部上下游系统之间调用请求不平缓的场景,由于内部系统的服务质量要求不能随意丢弃请求,所以使用消息队列能起到很好的削峰和缓冲作用。
2023-05-18 09:38:52 313
原创 如何设计一个秒杀系统03-二八原则:有针对性地处理好系统的“热点数据”
热点分为热点操作和热点数据。所谓“热点操作”,例如大量的刷新页面、大量的添加购物车、双十一零点大量的下单等都属于此类操作。对系统来说,这些操作可以抽象为“读请求”和“写请求”,这两种热点请求的处理方式大相径庭,读请求的优化空间要大一些,而写请求的瓶颈一般都在存储层,优化的思路就是根据CAP理论做平衡,这个内容我在“减库存”一文再详细介绍。而“热点数据”比较好理解,那就是用户的热点请求对应的数据。而热点数据又分为“静态热点数据”和“动态热点数据”。所谓“静态热点数据”,就是能够提前预测的热点数据。
2023-05-18 09:36:59 107
原创 如何设计一个秒杀系统02-如何才能做好动静分离?有哪些方案可选?
今天,我主要介绍了实现动静分离的几种思路,并由易到难给出了几种架构方案,以及它们各自的优缺点。可以看到,不同的架构方案会引入不同的问题,比如我们把缓存数据从CDN上移到用户的浏览器里,针对秒杀这个场景是没问题的,但针对一般的商品可否也这样做呢?你可能会问,存储在浏览器或CDN上,有多大区别?我的回答是:区别很大!因为在CDN上,我们可以做主动失效,而在用户的浏览器里就更不可控,如果用户不主动刷新的话,你很难主动地把消息推送给用户的浏览器。
2023-05-18 09:36:01 110
原创 如何设计一个秒杀系统01-设计秒杀系统时应该注意的5个架构原则
来让我们回顾下前面的内容,我首先介绍了构建大并发、高性能、高可用系统中几种通用的优化思路,并抽象总结为“4要1不要”原则,也就是:数据要尽量少、请求数要尽量少、路径要尽量短、依赖要尽量少,以及不要有单点。当然,这几点是你要努力的方向,具体操作时还是要密切结合实际的场景和具体条件来进行。然后,我给出了实际构建秒杀系统时,根据不同级别的流量,由简单到复杂打造的几种系统架构,希望能供你参考。
2023-05-18 09:33:12 102
原创 从0开始学架构51-如何画出优秀的软件系统架构图?
其实,很多人之所以画不好架构图,最大的痛点就是不好把握到底要画哪些内容,画得太少担心没有展现关键信息,画得太多又觉得把握不住重点。所以现在的问题变成了:应该按照什么样的标准来明确架构图要展现的内容呢?答案就是我在第1讲中介绍的4R架构定义。软件架构指软件系统的顶层(Rank)结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。4R是指4个关键词:Rank,Role,Relation和Rule。第一步,明确Rank。
2023-05-18 09:31:13 1619 1
原创 从0开始学架构49-谈谈App架构的演进
专栏截止到上一期,架构设计相关的理念、技术、实践已经基本讲完,相信你一路学习过来会有一种感觉,这些内容主要都是讲后端系统的架构设计,例如存储高可用、微服务、异地多活等,都是后端系统才会涉及。事实上确实也是如此,通常情况下我们讲架构设计,主要聚焦在后端系统,但这并不意味着App、前端就没有架构设计了,专栏所讲述的整套架构设计理念,虽然是来源于我的后端设计经验,但一旦形成完善的技术理论后,同样适应于App和前端。复习完我们就可以进入今天的正题,我来谈谈App架构的演进,以及上面这些架构设计关键点是如何体现的。
2023-05-18 09:23:38 73
原创 从0开始学架构50-架构实战:架构设计文档模板
在前面的专栏里,有同学留言说想看看具体的架构设计文档。由于信息安全的原因,再加上稍微复杂的系统,设计文档都是几十页,因此专栏无法直接给出详细的文档案例。但我认为提供一个架构设计文档模板还是很有必要的,可以方便你在实际进行架构设计的时候更好地编写相关文档。我还以前面讲过的“前浪微博”消息队列为例,给出架构设计中最重要的两个文档的模板和关键说明。这个案例文档仅给出一些关键内容供你参考,部分细节无法全面覆盖或者完全保证正确。
2023-05-18 09:23:33 252
原创 从0开始学架构48-再谈开源项目:如何选择、使用以及二次开发?
我在专栏特别放送第3期谈了如何高效地学习开源项目,主要聊了我在学习开源项目的一些看法和步骤。今天我们再聊开源项目,谈谈如何选择、使用以及二次开发。软件开发领域有一个流行的原则:DRY,Don’t repeat yourself。翻译过来更通俗易懂:。开源项目的主要目的是共享,其实就是为了让大家不要重复造轮子,尤其是在互联网这样一个快速发展的领域,速度就是生命,引入开源项目可以节省大量的人力和时间,大大加快业务的发展速度,何乐而不为呢?
2023-05-18 09:14:11 180
原创 从0开始学架构47-架构重构内功心法第三式:运筹帷幄
在前面的架构重构内功心法“”和“”中,我提到架构师需要从一大堆问题中识别关键的复杂度问题,然后有的放矢地通过架构重构来解决。但是通常情况下,需要架构重构的系统,基本上都是因为各种历史原因和历史问题没有及时处理,遗留下来逐渐积累,然后到了一个临界点,各种问题开始互相作用,集中爆发!到了真正要开始重构的时候,架构师识别出系统关键的复杂度问题后,如果只针对这个复杂度问题进行架构重构,可能会发现还是无法落地,因为很多条件不具备或者有的问题没解决的情况下就是不能做架构重构。
2023-05-17 10:24:37 45
原创 从0开始学架构45-架构重构内功心法第一式:有的放矢
在 专栏第8期架构设计三原则”中的演化原则部分,我提到了系统的架构是不断演化的,少部分架构演化可能需要推倒重来进行重写,但绝大部分的架构演化都是通过架构重构来实现的。架构重构时,业务已经上线运行了,重构既需要尽量保证业务继续往前发展,又要完成架构调整,这就好比“给飞行中的波音747换引擎”;而如果是新设计架构,业务还没有上线,则即使做砸了对业务也不会有太大影响。
2023-05-17 10:23:10 49
原创 从0开始学架构44-互联网架构模板:“平台”技术
当业务规模比较小、系统复杂度不高时,运维、测试、数据分析、管理等支撑功能主要由各系统或者团队独立完成。随着业务规模越来越大,系统复杂度越来越高,子系统数量越来越多,如果继续采取各自为政的方式来实现这些支撑功能,会发现重复工作非常多。因此我们自然而然就会想到将这些支撑功能做成平台,避免重复造轮子,减少不规范带来的沟通和协作成本。今天,我就来聊聊互联网架构模板的“平台”技术。由于每个平台本身都是一个庞大的体系,专栏只是介绍一下平台的核心职责和关键设计点,具体细节就不详细展开了。
2023-05-17 10:20:40 91
原创 从0开始学架构43-互联网架构模板:“用户层”和“业务层”技术
上一期,我从计算机网络层的角度谈了应对“高性能”和“高可用”的整体架构设计。今天,我将从“用户层”和“业务层”的角度谈谈常见的应用场景和关键技术。
2023-05-17 10:17:52 172
原创 从0开始学架构42-互联网架构模板:“网络层”技术
除了复杂度,互联网业务发展的另外两个关键特点是“高性能”和“高可用”。通常情况下,我们在设计高可用和高性能系统的时候,主要关注点在系统本身的复杂度,然后通过各种手段来实现高可用和高性能的要求,例如我前面介绍的计算高性能架构模式、存储高可用架构模式等。但是当我们站在一个公司的的角度来思考架构的时候,单个系统的高可用和高性能并不等于整体业务的高可用和高性能,互联网业务的高性能和高可用需要从更高的角度去设计,这个高点就是“网络”,所以我将相关措施统一划归为“网络层”。
2023-05-17 09:53:29 93
原创 从0开始学架构41-互联网架构模板:“开发层”和“服务层”技术
上一期,我介绍了互联网架构模板中的存储层技术。关于这部分内容,我将逐层介绍每个技术点的产生背景、应用场景和关键技术,希望让你可以对整体的技术架构有一个全貌认知。今天我们来聊聊互联网架构模板的“开发层”和“服务层”技术。
2023-05-17 09:35:46 105
原创 从0开始学架构40-互联网架构模板:“存储层”技术
很多人对于BAT的技术有一种莫名的崇拜感,觉得只有天才才能做出这样的系统,但经过前面对架构的本质、架构的设计原则、架构的设计模式、架构演进等多方位的探讨和阐述,你可以看到,其实并没有什么神秘的力量和魔力融合在技术里面,而是业务的不断发展推动了技术的发展,这样一步一个脚印,持续几年甚至十几年的发展,才能达到当前技术复杂度和先进性。抛开BAT各自差异很大的业务,站在技术的角度来看,其实BAT的技术架构基本是一样的。再将视角放大,你会发现整个互联网行业的技术发展,最后都是殊途同归。
2023-05-17 09:34:41 53
原创 从0开始学架构39-互联网技术演进的模式
由于各行业的业务发展轨迹并不完全相同,无法给出一个统一的模板让所有的架构师拿来就套用,因此我以互联网的业务发展为案例,谈谈互联网技术演进的模式,其他行业可以参考分析方法对自己的行业进行分析。互联网业务千差万别,但由于它们具有“规模决定一切”的相同点,其发展路径也基本上是一致的。互联网业务发展一般分为几个时期:初创期、发展期、竞争期、成熟期。不同时期的差别主要体现在两个方面:。
2023-05-17 09:32:48 68
原创 从0开始学架构38-架构师应该如何判断技术演进的方向?
互联网的出现不但改变了普通人的生活方式,同时也促进了技术圈的快速发展和开放。在开源和分享两股力量的推动下,最近10多年的技术发展可以说是目不暇接,你方唱罢我登场,大的方面有大数据、云计算、人工智能等,细分的领域有NoSQL、Node.js、Docker容器化等。各个大公司也乐于将自己的技术分享出来,以此来提升自己的技术影响力,打造圈内技术口碑,从而形成强大的人才吸引力,典型的有,Google的大数据论文、淘宝的全链路压测、微信的红包高并发技术等。
2023-05-17 09:29:50 54
原创 从0开始学架构37-微内核架构详解
微内核架构(Microkernel Architecture),也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品(原文为product-based,指存在多个版本、需要下载安装才能使用,与web-based相对应)的应用。例如Eclipse这类IDE软件、UNIX这类操作系统、淘宝App这类客户端软件等,也有一些企业将自己的业务系统设计成微内核的架构,例如保险公司的保险核算逻辑系统,不同的保险品种可以将逻辑封装成插件。
2023-05-16 07:57:52 258
原创 从0开始学架构36-微服务架构最佳实践-基础设施篇
每项微服务基础设施都是一个平台、一个系统、一个解决方案,如果要自己实现,其过程和做业务系统类似,都需要经过需求分析、架构设计、开发、测试、部署上线等步骤,专栏里我来简单介绍一下每个基础设施的主要作用,更多详细设计你可以参考Spring Cloud的相关资料(下面进入今天的内容,微服务架构最佳实践的基础设施篇。
2023-05-16 07:56:02 60
原创 从0开始学架构34-深入理解微服务架构:银弹or焦油坑?
微服务是近几年非常火热的架构设计理念,大部分人认为是Martin Fowler提出了微服务概念,但事实上微服务概念的历史要早得多,也不是Martin Fowler创造出来的,Martin只是将微服务进行了系统的阐述(原文链接:不过不能否认Martin在推动微服务起到的作用,微服务能火,Martin功不可没。微服务的定义相信你早已耳熟能详,参考维基百科,我就来简单梳理一下微服务的历史吧(
2023-05-16 07:52:04 84
外卖侠CPS小程序带有分销功能的完整全套源码
2023-09-09
Typecho付费阅读自媒体插件源码
2023-09-09
多园区跑腿服务小程序系统源码
2023-08-31
Typecho文章知识付费阅读插件源码
2023-08-31
电子协议签署平台小程序源码
2023-08-31
文库网站源码文档分享平台源码
2023-08-27
在线外卖平台源码支持多商户+多样化配送费模式+本土外卖平台+支持第三方配送
2023-08-27
PHP聚合搜索轻量级泛符合搜索sougou引擎算法源码
2023-08-26
子比主题美化插件zibll-Add-ons-MJ源码
2023-08-26
Zibll主题子比小黑屋检测模块插件,带小工具
2023-08-26
php定制效果在线定制印刷系统源码
2023-08-26
少儿编程培训管理系统源码
2023-08-26
php积分兑换商城系统源码独立后台附搭建教程
2023-08-21
修复版PHP神算网八字算命星座解梦周易程序源码占卜类源码匹配手机版pc+H5移动端整站适配
2023-08-21
前后端分离java+uniapp一键识别垃圾分类应用垃圾识别工具箱微信小程序源码
2023-08-21
功能强大的商业PHP在线教育系统源码
2023-08-12
EMC区块连安全透明化平台源码
2023-08-12
H5早起打卡带教程优化扫码流程
2023-08-12
Vue印度红绿灯英语印度语无加密源码下载
2023-08-12
赚钱省钱专家小程序源码 抽奖 一元抢购
2023-08-12
基于RuoYi-VUE版本开发的OA协同办公系统源码 集成Flowable流程引擎
2023-08-12
2023新版塔罗占卜网站源码风水起名附带搭建视频及文本教程
2023-08-04
zibi子比转盘抽奖插件源码
2023-08-04
智慧社区服务平台管理系统(HTML模板)
2023-08-03
vue开发一个前端电商项目
2023-08-03
简洁大气的卡片式排名SEO官网HTML源码
2023-08-03
多功能tg电报群管自动代码
2023-08-03
3种语言汇汇通usdt完美运营2次开发版带完整数据
2023-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人