码到功成 码到功成 / 6 天前

一次真实的线上 OOM 问题定位(二)

概述 上文提到,此次线上OOM问题的原因是“研发人员疏漏,查询字典表数据未带查询条件,导致查出表中所有记录进行ORM处理从而引发内存溢出”,经过通宵修复发版后,此问题未再重现,然而,新的问题仍在继续:"频繁GC","打开文件数太多","探测报404","频繁宕机",“jboss连接数骤增”……几乎囊括了这些年我能遇到的所有生产常见问题!组织专家会诊后,尝试了几种解决方案,但收效甚微,此问题已导致停止相关......

Java OOM

RyuGou RyuGou / 6 天前

图解 Go 的 channel 底层原理

废话不多说,直奔主题。 channel的整体结构图 简单说明: buf是有缓冲的channel所特有的结构,用来存储缓存数据。是个循环链表 sendx和recvx用于记录buf这个循环链表中的~发送或者接收的~index lock是个互斥锁。 recvq和sendq分别是接收(<-channel)或者发送(channel<-xxx)的goroutine抽象出来的结构体(sudog)的队列。是个双向链表 源码位于 /runtime/chan.go中(目前版本:1.11)。结构体为hchan。 type hc......

Go Golang channel

海角之南 海角之南 / 6 天前

聊一聊 Golang 的结构体标签

前言Golang的结构体标签可能每一个Gopher都在用,尤其是在json处理的地方用。比如: type NetConf struct { Master string `json:"master"` Mode string `json:"mode"` MTU int `json:"mtu"` Debug bool `json:"debug"` } 毋庸置疑,这个NetConf结构体实体变量在转换json的时候,Master字段会变为json字符串中的"master"。 如果你对结构体标签了解仅此不多,那可以继续往下......

Golang 标签 结构体

務急不僅 務急不僅 / 6 天前

由 Spring 应用的瑕疵谈谈 DDD 的概念与应用(二)

在上一篇文章中,通过Spring Web应用的瑕疵引出改善的措施,我们讲解了领域驱动开发的相关概念和设计策略。本文主要讲解领域模型的几种类型和DDD的简单实践案例。 架构风格在《实现领域驱动设计》一书中提到了几种架构风格:六边形架构、REST架构、CQRS 和事件驱动等。在实际使用中,落地的架构并非是纯粹其中的一种,而很有可能户将上述几种架构风格结合起来实现。 分层架构分层架构的一个重要原则是每层只能......

Java Spring DDD

实时音视频A桑 实时音视频A桑 / 6 天前

在线教育开发实践(一):实时视频与白板教学

“ 作者:maverick、buhe,本文首发于RTC开发者社区,点击「阅读原文」可以与两位作者交流在线教室中的白板开发经验。 随着技术和基础设施的进一步演进,线下的教育、会议已有很大比重演进为线上的教育和会议,突破了空间的桎梏。需求的多样性爆发增长和场景的进一步拓宽也对技术产生了非常大的挑战,有别于传统视频会议的方案,现有方案更多考虑兼容性、平台多样性、移动化等,在产品的链路上也变的愈加丰富......

视频 白板 在线教育

Gityuan Gityuan / 6 天前

彻底理解 Android 应用无响应机制

引言不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(ANR,Application Not Responding)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。 绝大多数人对ANR的了解仅停留在主线程耗时或CPU繁忙会导致ANR。面试过无数的候选人,几乎没有人能真正从系统级去梳理清晰ANR的来龙去脉,比如有哪些路径会引发ANR 有没有可能主线程不耗时也出现ANR?如何更......

Android

公众号_肥朝 公众号_肥朝 / 6 天前

面试常问的话题,你看源码学到了什么?

前言在看了肥朝之前Dubbo源码解析系列的粉丝.出去面试一般都是上来一波操作猛如虎的源码分析,技惊四座!当然也有一些喜欢打我脸的粉丝做了如下反馈: 言归正传,在面试"造火箭"的过程中,最常问的又最有区分度的一些问题 你对XXX源码这么熟悉,那有没有遇到过什么坑参考[面试官问我,使用Dubbo有没有遇到一些坑?我笑了。] 你看了这么多源码,那请问学到了什么 坦白说,在面试官稍微一深入原理就喊疼,只能被迫换......

面试 Java 源码

开发者头条 开发者头条 / 6 天前

税后 4W?程序员小心了,你可能入了 “东南亚博彩骗局”

0. 总有些我认为是常识的事情,在别人看来都是第一次接触。 很多骗局都是如此,圈内人不上当,圈外人不警惕。 毕竟骗子吃的就是信息不对称的生意。 关于东南亚的招聘骗局,便是如此。 他们当前主力针对的是程序员一族,被骗者甚众,很多人一去不回。 今天我把这点东西写出来,希望更多人能看到,能警醒。 1. 东南亚,当今华人冒险者的天堂。 这里离中国很近,所以交通方便,市......

程序员

Howie6879 Howie6879 / 6 天前

oh-my-zsh:让终端飞

上一次推文写了JupyterLab:程序员的笔记本神器,介绍的是如何在web端打造一个便捷的开发环境,发出后反响还不错 因此我决定再写几篇能提升程序员工作以及学习效率的文章,如果能形成一个系列那是最好~如果你有自己的效率工具以及方案,欢迎留言讨论 什么是oh-my-zsh诸位大佬都知道,Linux下shell默认是bash,但还有一种shell,叫做zsh它比bash更加强大,功能也更加完善,zsh虽说功能强大,但是配置比较复杂......

终端 oh-my-zsh

ms2008 ms2008 / 6 天前

聊一聊微服务网关 kong 近期的模型变迁

首发于平等的黑写文章聊一聊微服务网关 kong 近期的模型变迁李飘柔善书者自有风骨,尽一身之力而高吸低抛32 人赞同了该文章kong 是一个基于 Nginx/OpenResty 封装的开源网关,拥有文档详实,开箱既用的特性,在中小创业公司有不错的群众基础。本文讲一讲在折腾升级过程中的理解和感悟。 在 0.13.X 版本之前,kong 的核心域模型名为 API Object routes,长这个样子: kong api-obj model如果使用开源的 dashboard......

微服务 网关 Kong

cultus cultus / 6 天前

源码剖析 Golang 中 sync.Mutex

Search源码剖析golang中sync.Mutex Posted on 2019-03-28 | Edited on 2019-03-29 | In go| Comments:| Views: Symbols count in article: 13k | Reading time ≈ 12 mins.go语言以并发作为其特性之一,并发必然会带来对于资源的竞争,这时候我们就需要使用go提供的sync.Mutex这把互斥锁来保证临界资源的访问互斥。 既然经常会用这把锁,那么了解一下其内部实现,就能了解这把锁适用什么场景,特性如何了。 引......

Golang 源码

杨文 杨文 / 6 天前

Go 夜读重大调整

Go Golang

laoyang360 laoyang360 / 6 天前

Elasticsearch 7.0 正式发布

Elastic{ON}北京分享了Elasticsearch7.0在Speed,Scale,Relevance等方面的很多新特性。 比快更快,有传说中的那么牛逼吗?盘他! 通过本文,你能了解到: Elasticsearch&Kibana 7.部署体验 Elasticsearch7 革命性更新 Elasticsearch 7升级注意事项 Elasticsearch版本更新太快了,学不动了,肿么办? 1、Elasticsearch&Kibana 7.部署体验1.1 Elasticsearch 7.0 默认自带 JDK不用再为安装什么版本的JDK和环境......

Elasticsearch

openio openio / 6 天前

拜托,面试别再问我表达式求值了

上周面试一个候选人,问了一个数据结构与算法的问题,表达式求值。 题目大概是这样的: 输入长度为n的字符串,例如:1+2+3*4*5 输出表达式的值,即:63 我暗示的问:应该用什么数据结构? 候选人回答:栈。 画外音:算是答对。 问:时间复杂度呢? 回答:O(n^2) 画外音:额,应该不需要两个for循环吧。 我接着提示:应该先计算哪一步? 候选人回答:先计算3*4。 画外音:额,难道是乘除大于......

面试 表达式求值

开发者头条 开发者头条 / 6 天前

[译] 开发者亲述:Google+ 为何倒下?

深响翻译|刘凤仪 审校|刘语珊 今年4月2日开始,Google旗下、曾经是世界最知名的SNS平台之一的Google+不再面向消费者运营,这一曾经寄托了Google当年社交希望的平台,最终宣告失败。Talin是一位Google+刚成立就加入了Google+团队的工程师,目睹了Google+在最早期所做出的一系列错误的决定。 其中一些问题,在今天看来可以说是匪夷所思,但为什么当时这群几乎可以说是全球最优秀的人才,会做......

产品 Google+

噶牛爱尚 噶牛爱尚 / 6 天前

为 Node.js 应用建立一个更安全的沙箱环境

首发于阿里云中台前端/全栈团队专栏写文章为 Node.js 应用建立一个更安全的沙箱环境侯锋I'm coding90 人赞同了该文章有哪些动态执行脚本的场景?在一些应用中,我们希望给用户提供插入自定义逻辑的能力,比如 Microsoft 的 Office 中的 VBA,比如一些游戏中的 lua 脚本,FireFox 的「油猴脚本」,能够让用户发在可控的范围和权限内发挥想象做一些好玩、有用的事情,扩展了能力,满足用户的个性化需求。 大多数都......

沙箱 安全 Node.js

十三少 十三少 / 6 天前

除了评审和测试,软件工程师还能做些什么来保证软件的质量?

作为一个软件开发人员,小李的工作很辛苦,加班是常态,节假日是摆设。 最近小李的压力更大了。领导在工作会上讲了2019年公司的工作重点是严抓产品质量,要求每个软件开发人员都要提高自己开发的软件产品的质量,如果软件出了质量问题,一定要追责到底。 小李心里非常不愤,觉得自己承担那么多开发任务,能按上级要求的节点完成就不错了,质量能不能保证,他心里一点谱儿都没有。还有,软件工程理论讲究的不是......

测试 软件 软件工程师 评审

carlosfl carlosfl / 6 天前

记一次 Ziplist 导致 Redis Core Dump 分析

虽然Redisreleasenotes里经常有提到,由于某bug会造成Rediscore了。也许很幸运,使用多年官方的Redis,我确实没有遇到过core(ps:目前管理实例数是六位数的)。讲真,写这么一篇文章,我瑟瑟发抖,一直以来虽然我一直做Redis相关的工作,但处理这种问题不太多,所以哪里写的不对,欢迎指正。 清明节,突然收到报警某个Redisslave节点down了,迅速排查下,发现进程不在了,一般这种很大可能是因为机器OOM了,查了......

Redis Ziplist

编程一生 编程一生 / 6 天前

稳定性 “三十六计”:无状态化

背景 随着容器化、云原生等的流行,DevOps团队也在不断鼓吹「以无状态为荣,以有状态为耻」。因为有状态的服务难以部署、难以扩展。下面我举几个自己工作中实际的例子。 实例1-依赖系统目录结构 刚转来基础架构的时候,接手了一个服务,原来是个应届生写的。所以可以理解,也就是基本能完成功能,反正也不是核心服务。 刚拿到的时候下载下来本地运行没成功,报错是说对某个目录下没有某个文件。读了一下......

稳定性 无状态化

匠心零度 匠心零度 / 6 天前

期待你别焦虑

前言工作已经6年多了,最近忽然明悟一些道理,零度觉得分享出来可能可以帮助一些人,这些道理可能很多成功的、牛逼的人早就知道这些了。 随着技术的迭代更新越来越快,新技术不断产生,很多很多人都在焦虑,但是有一个道理的确是这样的,你不学习,未来终将被淘汰,依稀记得自己大学的时候,我们老师说他大学的时候,就稍微学习会点html、css在大学期间接点私活就可以挣好几万了,而现在一般的没有学习接触过......

焦虑

为了减少您的阅读压力,首页仅提供最新的 10 页文章列表,如需查阅更多内容请点击对应的文章标签。

Top