首页 文章 精选 留言 我的

精选列表

搜索[高并发],共10000篇文章
优秀的个人博客,低调大师

大搜车:云上多地域可用消息系统的构建

汽车产业互联网平台大搜车由姚军红创立于2012年12月,先后获得阿里巴巴集团、蚂蚁金服、晨兴资本、华平投资、春华资本等机构超过12亿美元融资。2017年12月,大搜车列入由硅谷全球数据研究机构PitchBook评选的“2017年全球新晋独角兽”名单。 目前,大搜车已经搭建起比较完整的汽车产业互联网协同生态。随着业务业务的快速发展,大搜车遇到了一系列的问题: 大量微服务系统,总数在2000以上,这些系统之间的异步通信全部都需要通过消息队列MQ,导致消息量大幅增加,日均消息TPS在6000以上,消息系统的稳定性成为云上业务稳定保障的重中之重。 由于有杭州和北京两大研发中心,客户在杭州和北京都部署了大量业务系统,多地域应用的消息同步需要有稳定可靠的机制。 物联网设备的管理和接入对消息系统提出了更高的要求。 大数据领域大量应用Kafka,需要更稳定

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

基于SAE的免运维、资源利用率微服务

场景描述 本文Step by Step 介绍了如何用 Serverless 应用引擎(SAE)帮助中小 企业极速构建云上微服务应用,以及通 过弹性伸缩从容应对突发性流量洪流, 灵活启停应用环境降低资源成本。 解决问题 微服务应用极速上云。 弹性伸缩从容应对突发性流量洪流。 应用环境灵活启停,降低资源成本。 产品列表 Serverless 应用引擎SAE 负载均衡SLB 应用实时监控服务ARMS 云监控 性能测试PTS

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

轻松构建基于 Serverless 架构的弹性可用视频处理系统

前言 随着计算机技术和 Internet 的日新月异,视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐,而在当前, 云计算平台厂商的产品线不断成熟完善, 如果想要搭建视频点播类应用,告别刀耕火种, 直接上云会扫清硬件采购、 技术等各种障碍,以阿里云为例: 这是一个非常典型的解决方案, 对象存储 OSS 可以支持海量视频存储,采集上传的视频被转码以适配各种终端,CDN 加速终端设备播放视频的速度。此外还有一些内容安全审查需求, 比如鉴黄、鉴恐等。 而在视频点播解决方案中, 视频转码是最消耗计算力的一个子系统,虽然您可以使用云上专门的转码服务,但在很多情况下,您会选择自己搭建转码服务。比如: 您已经在虚拟机/容器平台上基于 FFmpeg 部署了一套视频处理服务,能否在此基础上让它更弹性,更高的可用性? 您的需求只是简单的

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

再一次生产 CPU 负载排查实践

前言 前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。 其实早在去年我也处理过类似的问题,并记录下来:《一次生产 CPU 100% 排查优化实践》 不过本次问题产生的原因却和上次不太一样,大家可以接着往下看。 问题分析 收到邮件后我马上登陆那台服务器,看了下案发现场还在(负载依然很高)。 于是我便利用这类问题的排查套路定位一遍。 首先利用 top -c 将系统资源使用情况实时显示出来 (-c 参数可以完整显示命令)。 接着输入大写 P 将应用按照 CPU 使用率排序,第一个就是使用率最高的程序。 果不其然就是我们的一个 Java 应用。 这个应用简单来说就是定时跑一些报表使的,每天凌晨会触发任务调度,正常情况下几个小时就会运行完毕。 常规操作第二步自然是得知道这个应用中最耗 CPU 的线程到底再干嘛。 利用 top -Hp pid 然后输入 P 依然可以按照 CPU 使用率将线程排序。 这时我们只需要记住线程的 ID 将其转换为 16 进制存储起来,通过 jstack pid >pid.log 生成日志文件,利用刚才保存的 16 进制进程 ID 去这个线程快照中搜索即可知道消耗 CPU 的线程在干啥了。 如果你嫌麻烦,我也强烈推荐阿里开源的问题定位神器 arthas 来定位问题。 比如上述操作便可精简为一个命令 thread -n 3 即可将最忙碌的三个线程快照打印出来,非常高效。 更多关于 arthas 使用教程请参考官方文档。 由于之前忘记截图了,这里我直接得出结论吧: 最忙绿的线程是一个 GC 线程,也就意味着它在忙着做垃圾回收。 GC 查看 排查到这里,有经验的老司机一定会想到:多半是应用内存使用有问题导致的。 于是我通过 jstat -gcutil pid 200 50 将内存使用、gc 回收状况打印出来(每隔 200ms 打印 50次)。 从图中可以得到以下几个信息: Eden 区和 old 区都快占满了,可见内存回收是有问题的。 fgc 回收频次很高,10s 之内发生了 8 次回收((866493-866485)/ (200 *5))。 持续的时间较长,fgc 已经发生了 8W 多次。 内存分析 既然是初步定位是内存问题,所以还是得拿一份内存快照分析才能最终定位到问题。 通过命令 jmap -dump:live,format=b,file=dump.hprof pid 可以导出一份快照文件。 这时就得借助 MAT 这类的分析工具出马了。 问题定位 通过这张图其实很明显可以看出,在内存中存在一个非常大的字符串,而这个字符串正好是被这个定时任务的线程引用着。 大概算了一下这个字符串所占的内存为 258m 左右,就一个字符串来说已经是非常大的对象了。 那这个字符串是咋产生的呢? 其实看上图中的引用关系及字符串的内容不难看出这是一个 insert 的 SQL 语句。 这时不得不赞叹 MAT 这个工具,他还能帮你预测出这个内存快照可能出现问题地方同时给出线程快照。 最终通过这个线程快照找到了具体的业务代码: 他调用一个写入数据库的方法,而这个方法会拼接一个 insert 语句,其中的 values 是循环拼接生成,大概如下: <insert id="insert" parameterType="java.util.List"> insert into xx (files) values <foreach collection="list" item="item" separator=","> xxx </foreach> </insert> 所以一旦这个 list 非常大时,这个拼接的 SQL 语句也会很长。 通过刚才的内存分析其实可以看出这个 List 也是非常大的,也就导致了最终的这个 insert 语句占用的内存巨大。 优化策略 既然找到问题原因那就好解决了,有两个方向: 控制源头 List 的大小,这个 List 也是从某张表中获取的数据,可以分页获取;这样后续的 insert 语句就会减小。 控制批量写入数据的大小,其实本质还是要把这个拼接的 SQL 长度降下来。 整个的写入效率需要重新评估。 总结 本次问题从分析到解决花的时间并不长,也还比较典型,其中的过程再总结一下: 首先定位消耗 CPU 进程。 再定位消耗 CPU 的具体线程。 内存问题 dump 出快照进行分析。 得出结论,调整代码,测试结果。 最后愿大家都别接到生产告警。 你的点赞与分享是对我最大的支持

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

剖析 | 可扩展性、高性能、生产级的 SOFARPC 框架

小蚂蚁说: SOFA(ScalableOpenFinancialArchitecture)是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本篇文章整理自《剖析 | SOFARPC 框架》系列文章,由SOFA 团队和源码爱好者们共同出品,项目代号:<SOFA:RPCLab/>。由于原文 系列篇幅较长,小蚂蚁为大家节选了部分内容,想要了解更多有关 SOFARPC 框架内容,可通过文中链接跳转获取~ 相关阅读: 《开源 | 蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构》 《开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系》 目录 一、前言 二、SOFARPC 总体设计与扩展机制 三、SOFARPC 链路追踪 四、SOFARPC 连接管理与心

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

自定义的小程序 UI 组件库 wuss-weapp

如何使用 方法一 [推荐] (通过npm安装依赖并在小程序构建npm模块) 通过使用shell命令或git定位到当前小程序开发目录,然后使用npm或者yarn安装依赖。npm install --production wuss-weapp 或者 yarn add --production wuss-weapp 当依赖安装完成后即可在微信小程序开发者工具里点击 [工具] => [构建npm],此时若出现弹窗则记得吧 “使用npm模块” 勾上,若无弹窗则待构建完成后在详情里面手动勾上 “使用npm模块”。 构建完成后即可添加需要的组件。在页面的 json 中配置: "usingComponents": { "w-button": "wuss-weapp/w-button/index" } 在 wxml 中使用组件:<w-button type="info" bind:click="buttonClick">这是一个按钮</w-button> 在JavaScript中使用:import { Alert, Toast } from 'wuss-weapp'; Alert({ title: '提示', content: 'wuss weapp is good', }); Toast.show({ message: 'wuss小程序UI库', }); 方法二(通过clone当前项目的dist拷贝到自己项目中使用) 到GitHub下载 Wuss Weapp 的代码,将dist目录拷贝到自己的项目中。然后按照如下的方式使用组件,以 Button 为例,其它组件在对应的文档页查看: 添加需要的组件。在页面的 json 中配置(路径根据自己项目位置配置): "usingComponents": { "w-button": "/dist/w-button/index" } 在 wxml 中使用组件:<w-button type="info" bind:click="buttonClick">这是一个按钮</w-button> 预览所有组件 我们内置了所有组件的示例,您可以扫描上方的的小程序码体验,或按以下方式在微信开发者工具中查看: git clone https://github.com/phonycode/wuss-weapp.git 然后,直接将项目在微信开发者工具中打开即可。 本文来自云栖社区合作伙伴“开源中国” 本文作者:达尔文 原文链接

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

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

用户登录
用户注册