- 博客(328)
- 资源 (19)
- 收藏
- 关注
原创 高性能零售IT系统的建设02-对RabbitMQ乱用的治理
RabbitMQ是企业架构中经常使用的用于解耦的一种手段。零售和金融行业对于MQ的使用量很大,一旦失控面临的问题将是灾难级的。本文讲述了如何对于MQ已经泛滥成灾和失控情况下如何把MQ治理好并在性能上提高百倍、资源消耗却减少上千倍的全过程剖析。
2022-10-07 21:45:08 721 1
原创 高性能零售IT系统的建设01-一场HTTP组件引发的血灾
项目中大量对内、对外都使用restful api,简单的HTTP竟然引起了HTTP“风暴”。导致了系统整体吞吐量上不去、时不时会“耦尔卡一下”,经过调研结果发觉是项目中的HTTP组件使用在作怪。
2022-10-07 01:31:58 1401 1
原创 家乐福618保卫战二-零售O2O场景中的万级并发交易情况下的极限性能调优
结合了3个大规模全渠道零售中台从0到1建设的实例,全景、深入式介绍零售电商场景中当面临每秒万级并发时的系统调优知识。这个系列可以帮助普通程度员们深刻的意识到平时工作中到底还有什么不足以及如何进一步进化成真正意义上的架构师、CTO的道路是如何走的。其内容涉及微服务、云原生、IT体系化建设、攻城狮团队文化建设的系统理论及实战。即深入到了单个技术讲解也深入剖析如何建设一支有战斗力的IT团队的实战经验。
2022-10-05 19:58:50 1350
原创 FLINK 基于1.15.2的Java开发-自定义Redis Sink用于连接 Redis Sentinel模式
通过自定义flink的redis sink组件实现连接sentinel-哨兵模式以及自定义自己的redis读写业务逻辑。同时通过这一个例子,把之前的读kafka、反序列化、日志功能全部集成在一个例子中,这个例子就是一个完备的并可以适用于真实生产的实际例子。
2022-10-04 19:31:49 1477
原创 flume+kafka集群解决某著名联锁大型超市超过25年POS线下收单系统变实时系统的典型案例
这是一篇流批一体技术在国内某大型超市全国300家店以及全球总部的实际落地的案例。如何无痛的给一个25年+有着上千家超市的线下POS系统赋能使得其订单、促销、变价可以实时化?我们正是使用了流批一体的架构去进行的改造。在我们完成了这种无痛的改造并把原来一笔订单从生成到落回总部主数据需要t+1天变成1秒内后在业内做了分享,该方案还被其它3家超级百货集团(规模都在:超百家门店、上千个POS)所学习和取经,而这个方案至今被其它几家超级百货集团延用至今。
2022-10-04 00:03:53 956
原创 flink在企业IT架构中如何定位-在选型流批一体技术与大数据架构时的避坑指南
讨论流批一体不该分系统去讨论谁敢去负责和拥用这个流批一体,而是应该考虑业务系统要有流批一体架构同时大数据也必须要有流批一体架构。两者都不应该说:这是我独有的法宝。而当遇有特殊场景时又需要共用“一条流”来做流批一体。因此本文将使用TOGAF规范(企业架构设计-而非仅仅只是技术架构)去帮助CIO这类角色彻底了解流批一体到底和大数据是什么关系?也帮助我们的技术人员在本企业己有大数据组织架构时如何合理的提议引入和建立流批一体技术并且不受到抵触。你可以认为它是一个避坑宝典也可以认为它是企业级架构设计思想。
2022-10-02 20:45:26 1718
原创 FLINK 基于1.15.2的Java开发-实时流计算商品销售热榜
以下这个例子是全网段找不到的,连书上都不写的,它是一个基于flink1.15.2实时计算热卖商品销量排行榜的例子,它接近于生产级应用。后续会扩展成“生产级应用”的代码还缺了哪些关键技术点需要打通。
2022-10-02 11:12:49 1235
原创 FLINK 基于1.15.2的Java开发-连接kafka并把内容sink到redis
flink连接kafka并把相应的通过kafka输入的内容sink到redis
2022-10-02 02:22:59 1918
原创 FLINK 基于1.15.2的Java开发-读文件并把内容 sink到redis
flink如何把文本文件按照固定规则切割后sink到redis的操作。
2022-10-02 02:02:10 1315
原创 OpenCV Java入门六 使用神经网算法辩识人脸
在完成了一系列opencv基础功能使用后我们要进入激动人心的辩识一张脸到底是谁的讲解了,在这一章内会详细解释opencv的训练人脸模型和利用人脸模型识别这是谁这么样一个过程同时在文章最后我们会介绍真正的商业环境中一个人脸识别应用的完成还需要什么步骤的介绍。
2022-10-01 14:33:18 2459
原创 OpenCV Java入门五 结合摄像头识脸和拍照
随着我们对环境、Mat基本使用越来越熟练、Java Swing也逐步熟悉了起来。今天我们开始进入OpenCV驱动摄像头的几个使用场景。环境准备准备好一个USB外接摄像头,我这边使用的有两种,一种是普通的罗技摄像头,一种是双目摄像头(将来用来做活检); eclipse 2021-12版; JDK 11+,因为我们编写swing要使用到Window Builder窗体设计器这个插件。在eclipse 2021-12版里要驱动Windows Builder窗体设计器我们必须要用JDK11及+; 使.
2022-03-30 12:20:44 5808 1
原创 OpenCV Java入门四 认出这是“一张脸”
经过前三个教程,我们可以知道了OpenCV的基本使用了。今天,我们就要讲OpenCV中认出,这是一个人脸是怎么做的。MatOfRect.detectMultiScale函数OpenCV用的是detectMultiScale来认出这是一个脸的。记得,这只是认出这是一个脸,而不是这个脸是谁。这个脸是谁我们会逐步展开,前面勿求夯实基础。detectMultiScale需要两个参数(Mat src, MatOfRect objDetections);第一个函数,是传入的图片,带有人脸的图片;
2022-03-27 15:36:09 5592 6
原创 OpenCV Java入门三 Mat的基本操作
环境好了,我们就可以进入正文了。在之前入门一、二中分别已经有画图的两个例子了。但没有细节展开我们的代码和OpenCV到底在干什么。使用OpenCV时你需要补充的知识你需要熟练使用Java Swing,或者是其它任何一门语言中关于GUI方面的编程。我们这用的是OpenCV Java,因此对于Java Swing必须熟练。你可以安装eclipse 中的windowbuilder来帮助你做Swing的编程。至于Java Swing中的界面、Frame、Panel、Button以及Layout,
2022-03-24 14:07:13 6825
原创 OpenCV Java入门二 在Windows10系统上安装OpenCV
因为必竟大多人还是用的WINDOWS来开发的居多。因此如果OpenCV无法在Win10下安装,一样不能起到普及作用。而Windows下的编译安装OpenCV也是最痛苦的一件事。原因就在于在编译安装OpenCV时很多Extra的模块是被“墙”掉了。因此整个过程一会这个错一会那个错,开发机电脑也不太好,导致一次编译,30多分钟,然后报了一堆错网上查了半天解决了一个,又来一个。如此周而复始,让绝大多数开发者放弃了OpenCV。本篇就是要着重讲述OpenCV在W
2022-03-17 20:05:46 5281 5
原创 OpenCV Java入门一 在MAC系统上安装OpenCV
OpenCV网上的教程讲的一个都不对,要么卡死电脑,要么训练模型写死,要么都只是显示显示人脸就说这叫人脸识别?没有一个从安装、使用、驱动摄像头、训练模型、辩别人脸的全过程。最夸张的是连怎么安装个OpenCV的资料网上的都不全。本篇会连续以几篇篇幅带各位入门并以最终识别人脸为全博客结束标志。读完本篇教程你对基本人工智能算法将有了入门这一能力。为今后可以使用进一步AI应用打下扎实的基础。
2022-03-13 16:19:55 10332 16
原创 微服务设计指导-让Redis循环写入时提高10倍的技巧
用了微服务即代表着对于开发的技能要求水平更高,任何可以提高100毫秒的地方都值得去做,如何让Redis遇到批量写入场景时提高8倍、10倍呢?本篇带你感受一下“叹为观止”的不同写法带来的性能、效率上的致命提升
2022-02-25 13:16:27 1804
原创 微服务设计指导-纠正目前网上近90%以上错误的对于“API跨域”问题的所谓指导
大都数人在使用前端纯静态调用后端API时发生过“跨域问题”,但网上90%以上的所谓指导是错的,一旦上了生产环境被安全扫描到时已经因为嵌了太深、开发功能太多而来不及或者没法改了。本文给出标准的指导意见从代码的一开始就告诉大家真正合理的做法应该是怎么样的。
2022-02-22 14:17:41 1139
原创 微服务设计指导-使用云原生微服务解决传统海量跑批时引起的系统间“级联雪崩”以及效率
TO C端应用上我们都知道如何解决级联雪崩,但是大多系统都会陷入To B端跑批倒过来“打爆“ To C端请求。这种内部系统间因为跑批而引起的级联雪崩其实也可以用“微服务”设计之道解决。本篇以10万字解说加实例告诉大家如何用先进的微服务设计来制作一个传统跑批的系统并最终把性能提升千百倍以上。
2022-02-20 00:51:45 995
原创 程序员文档写作能力(四)-“善意的掩盖细节”是一种非常有担挡的行为
前三篇中不断的提到过避免过多的bla细节,不代表技术细节就不重要。恰恰,不多bla技术细节才是真正专业的技术人员和有担当的技术人员,这一点普通人轻易不得其“法门”,因此在第四篇中说透这个道理,看完你会恍然大悟什么叫“善意的掩藏细节是因为这要求写文档的技术人员更专业更有担当”
2022-02-05 23:37:00 375 2
原创 微服务设计指导-用“死信-延时”队列彻底解决业务超时补偿时发生的数据库“死锁”问题
对于业务中超时补偿我们最喜欢用周期性跑一个“批”去做补偿,而数据库死锁就发生在这种跑批job中,因此本文使用死信-延时队列彻底解决这一类问题同时又能满足上万TPS支付请求的应用。
2022-02-04 18:00:13 2851 2
原创 程序员文档写作能力(三)-如何处理好微信、邮件、开会时的话术
文档能力=软实力,它是软实力的综合体现。不仅仅是书面,日常开各种会议大家都会有一种“为什么我和业务型领导、老板没法沟通”,为什么我明明有理可是说不过别人的感觉?本篇就带领大家来看第二篇中虎头、猪肚、豹尾在短信、微信、邮件甚至会议发言时展现出来的威力
2022-02-03 17:25:35 7668
原创 程序员文档写作能力(二)-大三段式构架你的文档
计算机、程序员其实是一门“科学”工作,它不只是增删改查,它涉及到很多点。只有“想清了才能少返工”,因此本人以最常碰到以及最实用、马上拿来可以用为出发点讲透一篇通用设计文档需要怎么写。
2022-02-02 18:50:54 6615 1
原创 程序员突破年薪50万的唯一门坎-文档写作能力(一)
第一篇算是一个导论不知道大家有没有经常回溯、追溯或者抱怨过这样的内容。第一种抱怨:工作了4年、5年,晋升不明显,最最多做到一个小Team Leader,管了3-5个人。跳来跳去工资增涨只不过多个2千、3千。而眼看着快有希望一年突破50万时,已经35,36了。然后一旦公司有一个什么风吹草动,就等着被优化了。天天受到这样的心灵“煎熬”。 第二种抱怨:天天我们PM、我们老大要我们写文档,文档我是写了,可是我不是作协的啊,我交付的是代码不就可以了,写这种东西有什么用呢?要看文档?不如去看代码。 第三种抱
2022-02-01 13:47:43 2147 1
原创 微服务设计指导-redis双缓存设计解决一个app版本检查API结果导致了系统崩溃
背景这个问题其实我在2016年碰到过。APP或者是小程序都有一个版本检查以便于前端进行APP的强制更新。也适合在后台和to c端前台匹配个人信息安全所需的用户协议、消息推送协议版本进行校验用。它只是一个API,这个API会在APP或者是小程序的入口入先于首页和to c端进行交互。很多人觉得这就是一个versionCheck的get请求,返回一个版本号,然后在手机端比对一下版本号,就这么简单,要什么设计呀(典型的产品经理思维)。简单?在大促时或者是抢券、领红包场景时,500并发一来,直
2022-01-31 23:41:48 2121
原创 Redis布隆防击穿实战-如何解决布隆值在被刷新时出现的真空期
大促、抢券、抢红包系统在面临大促时,会面临笔直上升的流量访问趋势。如果流量是“慢慢爬升”,这对系统的考验其实是很一般的。系统最怕的就是笔直上升的流量直线趋势。如下面这种图,直线几乎为90度爬升,每秒超过5,000,8,000甚至几万的并发。此时市面上90%的系统都顶不住。笔者在近9年的互联网生涯中一直对于流量进行过分析。这种流量里往往真实的业务流量只会占到80%甚至不到,很多大量是一些非正常请求,你们也可以认为是“黑产”流量。因为在大促、抢券、领红包、秒杀时会引来很多“苍蝇”。如我在之前
2022-01-30 11:23:33 1948
原创 如何使用互联网技术来设计和制作支付交易系统和抢红包
交易系统讲究的是:业务幂等,不能多扣不能少扣。在满足业务幂等的前提下又要满足互联网级别的并发该怎么做?本人经过一段时间调研、分析发现其实跳脱BAT领域的一些头部企业竟然有99%的软件团队、人员不知道该怎么做大并发场景下的扣款、抢红包这些场景。因此写下此文用于对比没有锁、传统悲观锁、CAS乐观锁、Redis自续约锁在面对扣款、抢购、抢券、秒杀等场景下的不同做法以及真实压力场景下的直观性能比较。
2022-01-09 19:34:25 1330 4
原创 微服务设计指导-使用turbine结合nacos监控多集群hystrix
首先,你要确保每一个hystrix客户端全部的设置如这一篇中所描述的跑通:微服务设计指导-hystrix的监控。且每一个hystrix的配置都是如这篇所讲的那几步保留不动。然后开始我们使用一个组件叫turbine的东西,来集成各个集群内的hystrix端。turbine收集hystrix的原理如下:其于以上原理,我们一般会在一个系统里制作一个单独的Turbine的Spring Boot Application。maven-pom.xml文件<project xmlns="ht
2021-12-16 10:57:12 1019
原创 微服务设计指导-hystrix的监控
我们在生产环境或者是在压测时经常会需要了解:熔断了多少次?目前哪些接口断着哪些接口开着?你总不能看那些刷的可以飞起来的日志滚屏吧?那你真的成Matrix了。因此,Hytrix是先天就带有熔断监控功能的。如下这样的截图:这是由以下这个组件组成的(我们是基于spring boot2以及spring cloud2来做的hystrix监控,版本是有严格讲究的,甚至连artifactId的名字在不同版本都有本质上的区别,你千万记得不要盲目的复制粘贴。<dependency>
2021-12-16 10:16:33 1203 1
原创 微服务设计指导-feignclient的compression参数导致报文返回为gzip格式带来的坑
背景在实际对接项目中,我们的支付网关的feignclient开启了compression-on,这是标准的正确的。如下配置代码片段feign: okhttp: enabled: true httpclient: enabled: false max-connections: 1000 max-connections-per-route: 100 compression: request: mime-ty
2021-12-15 17:39:24 2653
原创 微服务设计指导-spring cloud2.0面向万级TPS的调优实战
调优点调优涉及到3个方面:service prodiver端即服务提供者; service facade端即服务消费端(按照J2EE的标准称呼叫facade,还有人喜欢叫proxy端,消费端是中国人的说法); mysql端service provider端去tomcat改用undertow在service provider端,不用tomcat而改用undertow,因为undertow是nio的,它特别适合高并发场景,而且undertow可以结合操作系统底层的jni调用使得j...
2021-12-15 17:30:22 1798
原创 微服务设计指导-hystrix参数介绍
连接nacos的配置# nacos 服务地址spring.cloud.nacos.discovery.server-addr=${nacos-server-addr}# 注册到nacos上的命名空间spring.cloud.nacos.discovery.namespace=${nacos-namespace}# 注册到nacos上的服务名称 poolNamespring.cloud.nacos.discovery.service=back-finance-web# nacos用户名sp
2021-12-15 17:16:57 493
原创 微服务设计指导-微服务各层间应该如何调用
你千万别把consumer去冲到前端直接这样调用了哈。下面说一下微服务和DB、中间件(包括一切中间件)的调用关系,这个是精华,网上的复制、粘贴是没的。微服务与中间件、DB的调用关系最佳实践(这不是规范是最佳实践)从Consumer端来看设计Consumer端经常会去调用Redis,是因为consumer端有时需要通过一个状态、一个值来“反转”或者“组织”provider“端; 假设有一个provider端叫getCity,consumer端每个请求都要调一次getCity,这时就会...
2021-12-15 17:03:00 853 2
原创 微服务设计指导-实践springcloud+springboot+nacos+feign+hytrix
什么样的请求需要做成微服务模块A→模块B。而,模块B→请求模块C。如果A和B本身又有其它的请求如:模块D->模块A,模块E→模块B;此时,对于:模块C,需要做成基于单根api的微服务provider; 对于访问模块C的,需要做成微服务consumer/client;忌讳的做法服务泛滥,例:把单表的增删改查都做成了微服务,到处调用; 循环无止镜去调用微服务; 什么都做成微服务;需要记住的微服务开发规范单体的provider在1,000并发的情况下,必须在毫秒级(
2021-12-15 16:37:13 1460 1
原创 微服务设计指导-通过一个生产事故的具体例子来看微服务
前言永远记得:微服务不是代表系统快、微服务不代表性能就好了。相反,实施了微服务后如果你没有掌握好要领,你反而会比没实施微服务“死了更惨”。这句话非常有意思。我们不急,看下去。通过一个实际例子我们来看没有微服务带来的危害先。2021年11月27号因为用户模块中访问直播间的一条API被卡死后发生的事。实例例子在我们的生产上,用户模块内访问微信直播间API,互联网一侧(微信直播间应该是发生了一次网络抖动)不响、超时后,直接导致了用户模块侧外联互联网API被强制打断。打断后进而一路卡在了用户
2021-12-15 15:57:20 595
原创 apache log4j2漏洞攻防演练与补丁升级说明
log4j2的漏洞没有大家想像的那么可怕,全文演示了这个漏洞即不可怕也可怕的原因以及有漏洞时的攻击效果和升级完后攻击无效是怎么样的效果,用以帮助大家如何验证升级后的log4j2是否有效的目的。
2021-12-14 15:15:39 6075
原创 企业AI落地的大法器-用数据清洗手段提升数据质量,找回遗珠之光
本篇接上文“谈LORA微调与数据质量处理之争”结尾,讲解了企业在将原始数据通过embedding技术纳入私有向量库时,面临着如何提高数据再次召回时的质量的挑战。本文将深入探讨企业数据清洗的重要性,以及在这一过程中可能遇到的各种坑。以科学、可信、可读的方式,为您解读清洗手段如何从数据幻觉中寻找回遗珠之光,助力企业实现更精准、高效的数据应用。无论您是专业人士还是普通大众,通过本文您都可全面理解清洗手段对企业引入embedding技术的价值所在。
2024-06-27 18:04:35 923
原创 AI在落地企业应用时的“数据幻觉”缘何这么难解决一谈LORA微调与数据质量处理之争
企业在落地LLMRAG系统时,数据幻觉难题凸显。LORA微调成本高达数据质量处理的100倍,却只带来3%-5%的提升。探究少有经验可借鉴的领域,发现前期的数据质量处理极为关键,其好坏直接影响回答质量,提升可高达90%+。别让幻觉迷惑目光,深入探讨前期数据的Embedding库,打造可靠的基础。
2024-06-27 13:27:48 1073
通向架构师的道路(第二十七天)应用IBM网格计算提高批处理能力的sample工程
2013-01-15
通向架构师的道路(第二十五天)SSH的单元测试与dbunit的整合的例子
2012-12-03
SSH_Alpha工程人附属lib包
2012-10-22
原版精美通向架构师的道路第十四天至第十七天Word文档
2012-10-22
openssl for win
2012-08-10
Experience J2EE! Using WebSphere Application Server V6.1
2011-04-04
高杰的JBPM从入门到精通
2011-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人