首页 文章 精选 留言 我的

精选列表

搜索[端侧大模型],共10000篇文章
优秀的个人博客,低调大师

离线开发BatchWorks 六大典型场景拆解

回顾大数据的发展历程,一句话概括就是海量数据的高效处理。在当今快节奏、不断变化的市场环境下,优秀的开发效率已经成为企业数字化转型的必备条件。 数栈离线开发BatchWorks 是一款专注离线数据ELT开发的产品,采用先进的大数据生态底层技术,具备高性能且功能丰富的大数据处理能力,对大数据离线计算、数据仓库建设提供有效支撑,是企业建设数据中台、数据仓库,加速数字化转型的基础设施。 BatchWorks 经过6年多的打磨已经服务于包括金融、教育、政企、零售等多个行业在内的300+客户,在开发效率提升方面发挥了巨大的价值。本文将从多个项目实施过程中遇到的6个典型场景来介绍一下离线开发BatchWorks 在开发效率提升上的一些解决方案,与大家共同探讨。 场景一:大批量数据快速迁移 问:客户数仓计划从 Oracle 迁移到 Hadoop,初始化需要完成几万张表的数据同步,如何快速进行大批量 hive 表的创建并做数据抽取? 答:BatchWorks 支持连接数据源进行关系型数据库到包括 Hive 在内的多目标数据库之间的整库同步,可一次性完成大批量表的自动创建和同步任务的生成,支持按日期增量和全量两种数据同步方式。考虑到同一时间点启动大量数据同步任务会造成数据库压力过大,还可支持任务并发数的配置。 场景二:SQL 逻辑的复用和批量管理 问:一条业务线上有20+产品,每个产品的数据分析由一个 SQL 任务完成,所有产品的任务逻辑完全一致且需要保持变更同步,而实际业务在快速变化,数据开发每次调整业务逻辑都需要每个 SQL 任务分别手动变更,经常出现调整错漏的情况,如何解决? 答:增加“组件”功能,用户可把在大量任务中通用的业务 SQL 逻辑抽象出来作为组件进行维护,不同的产品只需引用组件并配置输入输出表和字符参数,即可快速完成任务配置。当业务变更时只要调整组件的逻辑就能实现所有引用此组件任务的同步变更。 一个简单例子:业务方需要对不同产品的用户群体做年龄分层,可创建组件做年龄筛选,配置以下输入输出参数: • 输入参数:数据来源表 • 输出参数:年龄层中的最大最小值(字符串)、数据输出表 实现从产品1中筛选出年龄为20-30的用户数据,在创建任务时选择上述组件配置年龄输入参数和数据来源表,并指定写入的结果表: 场景三:计算结果跨任务复用 问:任务存在上下游依赖时,下游任务可能需要直接使用上游部分任务的计算结果,同时用户不希望建太多临时表,或产生一些额外的重复计算,如何解决? 答:BatchWorks 支持了任务上下游参数传递功能,上游任务的计算结果可进行周期性存储,直接被下游计算引用。 一个简单例子:从业务库完成销售明细表数据采集清洗,按天汇总后将销售金额最高的门店数据输出 sales_1d 任务,从 sales_details 中通过输入参数获取日期数据,然后将当天最高销售数据对应的门店通过输出参数输出传递至下游的同步任务,同步任务筛选此门店数据同步至 oceanbase。 场景四:任务依赖自动解析 问:当任务较多且依赖关系复杂时,依赖关系的配置会占用一定的工作量,尤其在对任务做了修改后,依赖关系可能会有更新不及时/漏更新的情况,发现问题时往往已经到了下游环节,如何解决? 答:BatchWorks 支持了上游任务依赖自动解析推荐/自动依赖功能,选择此功能进行依赖任务配置时,平台将对当前任务进行 SQL 解析,得到来源表和结果表,并寻找来源表的产出任务,用户可从这些推荐任务里选择全部或部分任务添加到上游依赖,也可直接选择自动依赖,当 SQL 调整时自动进行上游依赖的更新。 场景五:任务异常快速排查 问:离线实例的运行流程涉及实例上游依赖检查、到达计划时间检查、资源检查、质量校验等多个环节,运行过程出现异常时仅通过日志难以直观地进行问题溯源,问题处理不及时直接影响下游业务,如何解决? 答:BatchWorks 支持实例诊断功能对实例的运行过程进行分析,将实例调度流程及每个流程当前的状态、节点时间全部展示,用户可直观地看到当前实例的运行阶段和异常原因。 比如在进行上游依赖异常检查时,BatchWorks 将构建以当前实例为末位节点的异常依赖树,寻找直接导致其未运行的根源任务组,快速直达阻塞点。此外针对 SparkSQL,可监控其指标健康状况并给出调参建议,针对 HiveSQL 可观测运行过程中资源使用变化情况,从而可进一步进行任务调优。 场景六:以用户组为单位的用户管理 问:某公司的数据开发团队不定期会有一些人员调整,因业务量大、开发项目比较多,人员调整后开发平台上的维护十分繁琐。例如有新员工入职,需要将其添加到相关的多个开发项目中并赋予不同的角色,任务告警值班时需要添加进对应的告警规则中等等,增加管理员的用户管理成本且容易缺漏,如何解决? 答:BatchWorks 的用户中心支持以用户组为单位的用户管理,每个用户可被添加进一个或多个用户组。项目添加用户、告警圈选用户时均可以用户组的方式进行配置。后续增删用户时仅需在用户中心的用户组内进行操作,即可完成人员->项目/角色等的快速调整。 《数据治理行业实践白皮书》下载地址:https://fs80.cn/380a4b 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szkyzg 同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack

优秀的个人博客,低调大师

解决创新业务的三大架构难题,央广购物用对了这个关键策略

导读 央广购物借助云原生技术,解决了品小美这类创新业务普遍面临的资源预估难、运维成本高以及故障定位慢等难题。 背景介绍 央广购物系广电总局批准核发的,依托于中央广播电视总台的全国性电视购物公司。央广购物以电视直播和网络直播为基础,持续构建内容电商生态和服务能力。 央广购物响应新零售的业务趋势,推出了拼团直播带货的“品小美”子品牌,以微信小程序为依托,通过主播团长拼团的模式,推动电商业务的发展。“品小美”一方面能够为电视购物会员带来更丰富便捷的购买渠道与更多价格实惠的商品,另一方面也能帮助电视购物频道实现用户沉淀,搭建私域流量池,提升复购率。 传统架构下的业务痛点 品小美这类新型电商业务有几个特点: 新商品上架或者搞活动的时候抢购人数特别多,订单量突增比较明显; 半夜等业务低峰期几乎无人使用; 新功能上线要求快速敏捷; …… 在这样的业务特点下,如果使用传统的服务器部署应用,会遇到很多问题。 主要有以下4个痛点: 首先,资源既有浪费也有不足的情况。比如业务高峰期来不及扩容,导致资源不足。当业务高峰期过去,没有及时缩容,导致资源冗余,资源利用率不高,造成了一定的资源浪费。 其次,运维成本高,表现在效率低且维护难,开发都在同一个项目改代码,相互等待,冲突不断, 代码功能耦合在一起。同时因为没有做高可用稳定性也差,一个微小的问题,都可能导致整个应用挂掉。又因为扩展性不够,无法满足高并发下的业务需求。 最后,就是定位故障慢,问题排查往往要经过漫长的分析过程,一点点追溯日志。 Serverless架构设计 基于上面的业务痛点,品小美把整个系统都做了serverless化的微服务架构全新设计。接下来就从几个方面去解析一下品小美的架构。 Serverless架构 首先,品小美基于TSE做了serverless的架构,通过容器化的服务部署,配合系统和业务指标的弹性伸缩,解决业务波峰波谷时的资源自适应伸缩。 Serverless带来的好处也比较明显: 1. 无需考虑底层硬件资源 2. 弹性服务 3. 降低成本 4. 提升运维效率 5. 服务稳定性提高 从上图就可以看出,对于央广购物这类电商平台来说,业务有比较明显的波峰波谷。因此,自动的弹性扩缩容就非常重要。 在央广购物的案例里面,实际使用了两种扩容方式来应对业务的变化: 1. 定时扩缩容 2. 多维度指标触发扩缩容 定时的扩缩容主要是针对一些明确知道业务波峰时间的场景,比如定时的抢购、定期的活动等,就可以配置比如6点开始扩容10个实例。 多维度指标触发扩缩容主要就是针对平时的业务波峰波谷了。比如突然某款产品火了,带来了大量的流量,需要系统能自动识别并自动触发扩容,来应对这突然的流量波峰。这类就可以配置比如CPU使用率达到70%就开始扩容10个实例,或者QPS达到5000就开始扩容5个实例。 DevOps快速交付 央广购物基于coding打造了快速交付体系,搭建了一套适合自己业务系统的DevOps流程,在这套流程里面,搭建了一键暂停、一键回滚、分批次发布及灰度发布、应用多环境部署等功能。 同时在交付安全上,构建了代码审计、镜像安全检测、部署过程可观测等安全步骤。 在监控与报警方面,构建了完善的监控,直观观测微服务之间和上下游组件间的调用情况和依赖关系,通过调用链分析瓶颈、出错服务,基于各种指标快速了解微服务运行情况基于日环比、周环比了解服务指标变化趋势,便捷运维及发现系统瓶颈,并快速定位问题和排障。 高可用架构 除此之外,品小美还在架构上做了多可用区部署,通过部署多实例跨可用区的服务,实现了同城多活、服务高可用,以助于增强系统可靠性、提升业务连续性。 下图就是央广购物的完整架构图,从前端的安全防护、到网关、到服务、到中间件、到数据库,都有完整的应用。 另外,安全上,在入口处通过云防火墙和WAF来有效防控网络攻击,在通过WAF把安全的流量转到后端的网关中。 在微服务架构上,基于Spring cloud全家桶,搭建了Spring cloud Gateway的网关,实现条件路由,把不同的请求转发到不同的服务中。利用TSE的nacos作为注册和配置中心,实现服务的快速注册与发现,同时在服务下线的时候,会通过nacos优雅线下功能做到业务的无损。 不同的订单业务,会通过TDMQ的rocket MQ做数据的同步,实现业务解耦,同时也会利用redis做缓存,提高用户访问商品、订单等业务的速度。 数据方面,则会把TDSQL和MongoDB的数据通过DTS传输到Oceanus,最终用于商业智能分析BI。 云原生架构的价值 品小美基于TSE微服务、DevOps构建的高生产、高可用的云原生架构,保障了电商业务每分钟50000单的成单量。商品全文检索能达到毫秒级响应。 同时通过Serverless弹性伸缩的能力,也大量节省了资源成本,提高了资源利用率。 央广购物通过腾讯云的各种能力,构建了一套完善的高可用的云原生架构,帮助其在电商领域有了自己的技术积累,同时发展出了品小美SaaS云服务平台。 其中腾讯云TSE的微服务能力,中间件TDMQ的消息处理能力等,在央广购物的技术架构中起到了非常重要的支撑作用。 最后,附上品小美云服务平台的整体业务架构图。 云原生架构已经逐步变成了电商行业的一种标杆架构,它不仅帮助电商行业解决了IT资源问题,也能帮助电商行业解决快速搭建业务的问题。 如今,越来越多的企业都在进行云原生改造,目的就是为了能更好的适应业务,更快的支撑业务发展,以及更高效的管理IT资源。 未来,央广购物还会继续和腾讯云合作,不断探索云原生架构在电商领域的更多可能性。

优秀的个人博客,低调大师

TIOBE 10 月榜单:四大语言加强统治地位,Rust 威胁 C/C++

TIOBE 公布了 2022年 10 月的编程语言排行榜。 截至今日,Python、Java、C 和 C++ 语言已经在 TIOBE 榜单的前 4 位盘踞了相当长的一段时间。TIOBE CEOPaul Jansen指出,这四种语言在榜单中远远领先于其他语言,且差距似乎只会拉的越来越大。去年,这 4 种语言占据了 40% 的市场份额,今年甚至达到了 55%。 “这表明目前竞争的空间不大。Java 的主要竞争对手 C# 正在失去地位,而 Python 的竞争对手 R 和 Ruby 或多或少地趋于稳定。然而,对于 C 和 C++ 来说,出现了一个小威胁:编程语言 Rust。Rust 以 0.70% 的历史最高市场份额再次进入前 20 名。Rust 专注于性能和类型安全。Rust 越来越受欢迎的原因之一是 Google 开始使用 Rust 语言编写 Android 的 low level parts。” TIOBE 10 月 TOP 20 编程语言 前十榜单变化依旧不大,仅 PHP(10→9)和 SQL(9→10)进行了排名互换。与此同时,Rust 成功挤入了Top20的位置。 具体而言,Top11-20 间相较前一个月排名出现上升的有:Go(12→11)、R(18→12)、Swift(16→15)、Ruby(20→16)以及Rust(26→20)。下降的有:Objective-C(11→13)、Delphi/Object Pascal(13→18)、Fortran(15→19)。 其他的 Matlab 和 Classic Visual Basic 分别保持第 14、17 位不变,Perl 则从第 19 位跌至 22 位。 TOP 10 编程语言 TIOBE 指数走势(2002-2022) 第 21-50 名编程语言排行 第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序): ActionScript, Apex, Awk, B4X, bc, Bourne shell, C shell, cg, CLIPS, Clojure, Common Lisp, Crystal, Elixir, Emacs Lisp, F#, Forth, Groovy, Hack, Icon, Inform, Io, J#, Korn shell, Ladder Logic, ML, MQL5, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Pike, PILOT, PostScript, Q, Racket, Raku, REXX, Ring, Simulink, Small Basic, Smalltalk, Snap!, SPARK, Stata, Tcl, Vala/Genie, VBScript, Verilog, WebAssembly TIOBE 编程社区指数(The TIOBE Programming Community index)是一个衡量编程语言受欢迎程度的指标,该指数每月更新一次。评判的依据来自世界范围内的工程师、课程和第三方供应商,包括流行的搜索引擎,如 Google、必应、雅虎、维基百科、亚马逊、YouTube 和百度都被用于指数计算。值得注意的是,TIOBE 指数并不代表编程语言的好坏或编写代码的多少。 该指数可以用来检查你的编程技能是否还能跟上时代的步伐,或者在开始建立一个新的软件系统时,基于指数对采用何种编程语言做出决策。 TIOBE 指数的定义方式,以及详细榜单信息均可查看官网。

优秀的个人博客,低调大师

《灯灯》多租户快速开发平台 4.11.0 发布,大租户 & 小租户模式正式上线

4.11.0 - 正式版 更新详情: feat DATASOURCE_COLUMN 模式正式上线,可以在DATASOURCE模式的中使用COLUMN模式插件实现小租户 员工表 删除字段:main_org_id,新增字段:last_company_id、lamp_dept_id 新增右上角切换企业、单位、部门页面 jwt 中新增 CurrentCompanyId(当前单位ID)、CurrentTopCompanyId(当前顶级单位ID)、CurrentDeptId(当前部门ID) 字段 各个服务中冗余的Mybatis、Dynamic相关配置类提取到 database-mode 中 refactor 优化员工维护界面,去除主部门字段 废弃左上角切换企业下拉选项 优化数据权限,支持 DataScopeHelper.startDataScope() 方法开启数据权限 fix 修复代码生成器生成项目时,数据库前缀和多生成一个Mybatis配置类 代码生成时,默认连接的是数据库前缀默认值错误 代码生成时,未import LogApi 更多功能,等你来体验: 《灯灯》官网:https://tangyh.top/ 4.x 数据源模式体验地址:https://datasource.tangyh.top/ 4.x 字段模式体验地址:https://column.tangyh.top/ 4.x 非租户模式体验地址:https://none.tangyh.top/ 3.x 体验地址 1:https://boot.tangyh.top/ 3.x 体验地址 2:https://boot.tangyh.top/lamp-web/ 《灯灯》中后台快速开发平台 如果你非要说 lamp 是 Linux+Apache+MySQL+PHP,那就算是吧,毕竟 PHP 是世界上最好的语言,我也希望此项目成为世界上最好的后台框架!😈😈😈 lamp-cloud基于 jdk11/jdk8 +SpringCloud+ SpringCloudAlibaba+SpringBoot的微服务快速开发平台,专注于解决 SaaS 多租户体系问题, 具备 RBAC 功能、网关统一鉴权、Xss 防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。 核心技术采用 Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking 等主要框架和中间件。 希望能努力打造一套从JavaWeb基础框架-分布式微服务架构-持续集成-系统监测的解决方案。本项目旨在实现基础能力,不涉及具体业务。 技术栈 开发方面: JSON 序列化:Jackson 消息队列:RabbitMQ 缓存:Redis 数据库: MySQL 5.7.9 或者 MySQL 8.0.19 定时器:采用 xxl-job 项目进行二次改造 前端 1 (后台管理):vue2 + element-ui 前端 2 (后台管理):vue3 + ant-design-vue + vite + TypeScript 持久层框架: Mybatis-plus 代码生成器:基于 Mybatis-plus-generator 自定义 API 网关:Gateway 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:Ribbon 服务熔断:Sentinel 项目构建:Maven 分布式事务: seata 文件服务器:FastDFS 5.0.5 / 阿里云 OSS / 本地存储 / MinIO / 华为云 / 七牛云 监控方面: 监控: spring-boot-admin 链路调用跟踪: SkyWalking 分布式系统的流量防卫兵: Sentinel 部署方面: 服务器:CentOS Nginx Jenkins Docker Kubernetes 项目截图: 预览 预览

优秀的个人博客,低调大师

让 Java 打包缩小一大半,Solon v1.9.3 发布

相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 ~ 10 倍。(更快) qps 高 2~ 3 倍。(更高) 运行时内存节省 1/3 ~ 1/2。(更少) 打包可以缩小到 1/2 ~ 1/10;比如,90Mb 的变成了 9Mb。(更小) 基于服务 name 进行注册发现 与 k8s svc 相互对应 支持 Service Mesh 架构部署方案 本次更新: 解决 solon.web.staticfiles 扩展仓库的文件被读取后不能删除的问题 插件 solon.validation 增加分组验证支持 插件 aws-s3-solon-plugin 升级 aws-java-sdk-s3 为 1.12.261 插件 sqltoy-solon-plugin 升级 sqltoy 为 5.2.3 插件 water-solon-plugin 升级 water 为 2.8.1 进一步了解 Solon: 《想法与架构笔记》 《生态预览》 《与 Spring Boot 的区别?》 《与 Spring Cloud 的区别?》

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册