51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
WOT技术大会
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
24年11月软考
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
意见反馈
社区规则
社区活动
默认
发布时间
热度
原创
精华
热门标签
鸿蒙
华为
HarmonyOS
别再用硬编码写业务流程了,试试这款轻量级流程编排框架
前言在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护的成本得就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块...
gnt_xxy
0回复
1.1w浏览
流程编排框架
轻量
没花一分钱的我竟然收到的JetBrains IDEA官方免费赠送一年的Lice
前言做java的人,一般IDE工具用的不是eclipse就是IntelliJIDEA了吧,eclipse因为是开源软件,而且起步比较早,功能也比较完善。早期基本上做java的使用eclipse都是必备技能。我工作十年多,直到2年前还在用eclipse,随着IntelliJIDEA的市场份额原来越大,很多人都转投这个更现代化,更懂开发者的IDE工具中。我也在两年前从eclipse阵营转投IntelliJIDEA的阵营了,同时把windows电脑也换成了mac。本身IntelliJ看起来就更现代化,...
gnt_xxy
0回复
9997浏览
eclipse
免费
开源框架TLog核心原理架构解析
前言最近在做TLog1.2.5版本的迭代,许多小伙伴之前也表示说很想参与开源项目的贡献。为了让项目更好更快速的迭代新特性以及本着发扬开源精神互相学习交流,很有幸招募到了很多小伙伴与我一起前行。为了方便大家理解TLog项目的核心原理和架构,便有了此篇内容。此篇内容偏向TLog技术设计和核心原理,同时也涵盖着做一个开源框架所需要考虑的问题和技术要点。我一直相信,好的技术内容应提领关键点,引导大家该去如何读懂源码。而...
gnt_xxy
0回复
9118浏览
开源框架
轻量级的分布式日志追踪利器,接入简单,追踪简易
前言随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候。因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。这时候很多童鞋会开始考虑上SkyWalking,Pinpoint等分布式追踪系统来解决,基于OpenTracing规范,而且通常都是无侵入性的,并且有相对友好的管理界面来进行链路Span的查询。但是搭建分布式追踪系统,熟悉以及推广到全公司的系统需要一定...
gnt_xxy
0回复
7033浏览
分布式日志
日志追踪
轻量级
代码级别的上传下载神器
前言不知道大家在工作中有没有碰到过在代码级别中进行上传和下载呢,一般的场景为调用第三方的接口进行上传大文件和下载大文件。我一个小伙伴最近在工作中就碰到了,他需要在代码中调用第三方http接口进行原始文件的上传,然后需要调用第三方接口把第三方服务处理好的数据文件下载到本地。他说其实没什么技术难度,百度了下,代码示例也很多,httpclient就支持上传文件和下载,就是代码写的太多了,不怎么优雅。他给我看了httpc...
gnt_xxy
0回复
5300浏览
上传下载
文件上传
缓存热点,缓存穿透,终极解决方案看过来
背景前不久,因为公司业务需要,需要解决在大促场景下后端业务的热点缓存问题,所以研究了下缓存热点解决方案。很多公司的缓存都是基于redis来做的,redis的性能其实已经足以能应付大部分的场景,但是对于大促期间或者活动抢购期间的某个爆品,可能会出现在几秒时间内流入大量的流量,由于某个爆品的数据在rediscluster场景下会按照hash规则被存放在某个redis分片上,那么这几秒的流量都会压到这个redis分片,从而在瞬间会导致...
gnt_xxy
0回复
5056浏览
缓存热点
缓存穿透
对乱糟糟的日志说再见
前言最近一个朋友老是和我抱怨:公司系统日志打的实在是太烂了,有用的信息很少,没用的一大堆。就连那有用的信息,在那么多节点日志之间进行追查,也是痛苦的一笔。我问他,公司没有日志收集吗,日志收集起来看总好过一个节点一个节点日志查看。他表示,公司有接入一个收费第三方的日志产品,做了收集。但是仅仅是方便了统一化查看搜索,但是系统本身的日志缺少一些关键性的要素。比较乱,在很多微服务之间查看调用日志时定位...
gnt_xxy
0回复
4190浏览
日志
TLog
Spark Connector Reader 原理与实践
本文主要讲述如何利用SparkConnector进行NebulaGraph数据的读取。01SparkConnector简介SparkConnector是一个Spark的数据连接器,可以通过该连接器进行外部数据系统的读写操作,SparkConnector包含两部分,分别是Reader和Writer,而本文侧重介绍SparkConnectorReader,Writer部分将在下篇和大家详聊。02SparkConnectorReader原理SparkConnectorReader是将NebulaGraph作为Spark的扩展数据源,从NebulaGraph中将数据读成DataFrame...
ywz888
0回复
5432浏览
Nebula
Nebula Exchange 工具 Hive 数据导入的踩坑之旅
本文由社区用户xrfinbj贡献,主要介绍Exchange工具从Hive数仓导入数据到NebulaGraph的流程及相关的注意事项。01背景公司(望石智慧)内部有使用图数据库的场景,内部通过技术选型确定了NebulaGraph图数据库,还需要验证NebulaGraph数据库在实际业务场景下的查询性能。所以,我们急迫地需要导入数据到NebulaGraph并验证。在这个过程中发现通过Exchange工具从Hive数仓导入数据到NebulaGraph文档不是很全,所以把这个流程中踩到...
ywz888
0回复
5135浏览
Nebula
Jepsen 测试框架在图数据库 Nebula Graph 中的实践
在本篇文章中主要介绍图数据库NebulaGraph在Jepsen这块的实践。Jepsen简介Jepsen是一款用于系统测试的开源软件库,致力于提高分布式数据库、队列、共识系统等的安全性。作者KyleKingsbury使用函数式编程语言Clojure编写了这款测试框架,并对多个著名的分布式系统和数据库进行了一致性测试。目前Jepsen仍在GitHub保持活跃,能否通过Jepsen的测试已经成为各个分布式数据库对自身检验的一个标杆。Jepsen的测试流程Jepsen测试推荐使...
ywz888
0回复
3845浏览
Nebula
Spark Connector Writer 原理与实践
在《SparkConnectorReader原理与实践🔗》中我们提过SparkConnector是一个Spark的数据连接器,可以通过该连接器进行外部数据系统的读写操作,SparkConnector包含两部分,分别是Reader和Writer,而本文主要讲述如何利用SparkConnector进行NebulaGraph数据的写入。SparkConnectorWriter原理SparkSQL允许用户自定义数据源,支持对外部数据源进行扩展。Nebula的SparkConnector单条数据写入是基于DatasourceV2实现的,需要...
ywz888
0回复
4385浏览
Nebula
使用 MyBatis 操作 Nebula Graph 的实践
我最近注意到很多同学对于ORM框架的需求比较迫切,而且有热心的同学已经捐赠了自己开发的项目,Nebula社区也在workingonit。下面主要介绍一下我们在使用MyBatis操作NebulaGraph方面的一些经验,希望能够帮助到大家。>>>>MyBatisJava开发的同学想必对MyBatis都比较熟悉了。MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射,并且免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。>>>>实现途径主...
ywz888
0回复
4740浏览
Nebula
Nebula & 数仓血缘关系数据的存储与读写
我是数据开发的实习生,在这个岗位上工作四个月左右的时间了,期间负责开发数据平台的功能我是数据开发的实习生,在这个岗位上工作四个月左右的时间了,期间负责开发数据平台的功能。因为工作中涉及的一些数据的读写性能较低,所以在调研后,选择部署一个Nebula集群。之所以选择Nebula,是因为它的技术体系比较成熟,社区也比较完善,对刚刚接触的它的人非常友好,所以很快就开始投入使用了。在使用过程中,有一些自己的见解,和...
ywz888
0回复
5012浏览
Nebula
一个导致查询结果错的MySQL bug
现象有业务系统反应,通过主键条件查询用户表,得到的一行结果与条件中的主键值不一致,这是什么鬼啊?结论设置JDBC参数不合理(queryTimeout10s,socketTimeout10s),导致在异常情况下,第二条get获得了第一条get的结果,得到错误的数据,数据库表现正常;详细的出错流程(1)应用设置queryTimeout10s,socketTimeout10s;(2)在JDBC代码中,socketTimeout是利用fd超时实现的,而queryTimeout是另外起一个任务(cancel线程),监听...
ywz888
0回复
4764浏览
OceanBase
甲骨文严查Java授权,换openJDK要避坑
背景外媒TheRegister报道,甲骨文稽查企业用户,近期开始将把过去看管较松散的Java授权加入。甲骨文针对标准版Java(JavaSE)有2种商业授权。2019年4月甲骨文宣布JavaSE用户需要付费订阅,才能取得授权及更新,包括JavaSE7、8或11、12。但到同年9月该公司又宣布了免费Java授权方案,针对Java17版本提供每季更新,并在2021年的新版本提供多1年免费支持,但这项方案并不溯及既往,旧版Java用户即使安装修补程序也是需要付费。报道...
ywz888
0回复
4689浏览
编程一生
手撕spring核心源码,彻底搞懂spring流程
引子十几年前,刚工作不久的程序员还能过着很轻松的日子。记得那时候公司里有些开发和测试的女孩子,经常有问题解决不了的,不管什么领域的问题找到我,我都能帮她们解决。但是那时候我没有主动学习技术的意识,只是满足于解决问题,错过了能力提升最好的阶段。老公是个截然相反的类型,我就看他天天在宿舍里学习。学来学去也就那样了。他不陪我玩,我虽然心里不乐意,但是还好那时候未卜先知:知道自己能生一个长的帅、和我兴...
ywz888
0回复
4413浏览
编程一生
手撕Spring后置处理器源码,彻底理解Spring核心
上篇回顾承接上篇《手撕spring核心源码,彻底搞懂spring流程》。由于上下文之间的逻辑关系,没看过上篇的朋友强烈建议先看上篇。简单对上篇做个总结:首先咱们一起写了一个HelloWorld版本的Spring。因为Spring核心是控制反转,就是Bean对象都交给Spring来管理。开发者使用时只需要获取即可。在使用时分为两步:第一步,通过注解配置创建Spring上下文容器;第二步,从中获取需要的Bean来使用。那讲道理就先把这两步需要的框架构...
ywz888
0回复
4406浏览
编程一生
手撕Spring源码(三),彻底理解Spring循环依赖原理
很多朋友大概有注意到,我写过一些文章解释清楚了一些:全网没有其他文章解释清楚,或者大多数文章都是错误的问题。比如:《说透分布式事务》里BASE理论和分布式事务到底是什么关系。本篇文章我在动笔之前也搜索了一下,包含文章和收费视频。发现自己花了钱学习的东西老师(还是这个方面口碑很好的老师)在翻来覆去啰嗦那么几句话,就是没把问题讲透。为啥呢?我分析了一下,因为老师从一开始没有说明这么设计要解决的问题呀。上...
ywz888
0回复
4436浏览
编程一生
Spring容器组件添加的五驾马车
这段时间也陆续给大家带来了一些Spring系列相关的文章。可以从《Spring源码的学习方法和知识地图》入手,看看自己处于哪个阶段,更关注哪些方面。再进行系统性的学习。今天咱们从另外一个角度对Spring容器的组件注入做一个总结性的学习。Spring容器组件添加有五驾马车,本文主要以注解驱动做讲解,配置文件注入原理也是一样的:1.包扫描+组件标注注解2.包扫描+Bean3.Import4.包扫描+FacotoryBean5.包扫描+BeanFactoryPostProces...
ywz888
0回复
4188浏览
编程一生
Spring源码里开天辟地的五个Bean,再介绍一个学习方法
引子在《Spring源码的学习方法和知识地图》里,我提到如果一开始就研究Spring源码会被Spring源码中的细枝末节带偏,脱离主线。因为其中99%的代码是为了解决1%的问题。所以我写了三篇手撕Spring源码的文章:《手撕spring核心源码,彻底搞懂spring流程》《手撕Spring源码(二),彻底理解Spring后置处理器》《手撕Spring源码(三),彻底理解Spring循环依赖原理》旨在帮助大家把细枝末节去掉,回归Spring源码的设计本身,看代码的...
ywz888
0回复
4128浏览
编程一生
暂无内容
1
4
5
6
7
8
9
10
11
12
67
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅