不会嫌多的基本功
文章平均质量分 83
zero13_小葵司
保持着对创新与新鲜事物的冲动。一直希望让技术转换为用户价值的方式更加简单便捷快速。服务过保险、快消品、奢侈品、游戏、教育、公益、支付、金融、营销、开放平台,写过C#、PHP、JAVA、H5、JS,搞过微服务、DDD、中台、SCRUM、SAFe、DEVOPS,打造过规模化价值驱动的自组织精益敏捷技术产品团队。目前希望打造更有想法精益求精快速落地数据驱动的团队以及少代码开发的框架与工具。
展开
-
MySQL调优 - 读写分离
上一篇:MySQL调优 - 索引原理及优化索引是数据量达到一定之后数据量很好的优化方式,那么读写分离又是解决什么问题呢?以及你是否真的需要读写分离呢?首先读写分离是有额外成本的,而且成本不低,因为这需要至少再来一套数据库从库,所以我们列一些情况,帮助你判断是否真的需要读写分离。哪些情况适合读写分离:数据量很大;读远多于写(互联网应用基本都是如此),且读取已经造成了性能瓶颈;缓存已不足以解决读的性能问题(缓存的性价比更高);有经费做数据库的主从;架构上支持了应用系统的读写分离;基于上面几点原创 2021-06-18 00:16:54 · 140 阅读 · 0 评论 -
MySQL调优 - 索引原理及优化
我们来开启一个新的系列,mysql调优,这个系列我们写3个部分:mysql索引优化;mysql读写分离;mysql分表分库;mysql事务(该部分就不写了,一般不会去修改其读写类型,知道其默认的是可重复读级别);这个系列的更新会比较快,结束之后我们就开启大数据的相关更新内容。我们以索引展开MySQL的优化,因为这是MySQL读写高性能的基础,也是设计的关键与难点,当然并不是看完这三篇优化,数据库的东西就都搞定了,这和我们在具体业务开发中的场景依然密切相关,这篇优化可以说还只是入门,但不要看到原创 2021-06-16 20:24:34 · 348 阅读 · 0 评论 -
JVM调优 - 用Arthas解决CPU过高问题
上一篇:JVM调优 - 用Arthas解决OOM问题上一篇我们分享了如何排查定位OOM,OOM属于生产中问题定位相对简单的,原创 2021-06-15 23:17:09 · 976 阅读 · 0 评论 -
JVM调优 - 用Arthas解决OOM问题
上一篇:JVM调优 - 理解GC接上一篇理解GC后,这一篇我们将讲解如何生产调优,或者说生产性能问题排查。这一篇我们比较偏实际运用,就不过多去讲解一些原生指令或者java visualVm工具了。java visualVm可以用于自己本地使用,或者测试环境调试,但是生产环境是不适用的,一是生产服务器基本不可能安装这个,二是本地连接进生产查看基本不可能,增加了网络安全风险。所以我们这次主要讲一讲如何主要用Arthas做生产性能问题定位,并进行更新。OOMOOM是最常见的问题,如果FGC无法回收内存原创 2021-06-03 12:36:13 · 3091 阅读 · 4 评论 -
JVM调优 - 理解GC
关于JVM调优系列Hey Guys,我们将开启这个JVM的调优系列,那么什么是JVM调优呢?其实说起来我们能调的东西也不多,因为这个不是让我们去修改JVM的源码或者修改其GC算法,这里主要是去针对生产出现的OOM、卡顿、CPU飙升、假死等情况去排查处理,以及减少排查问题、GC带来的过多性能消耗影响到生产应用的运行。这个系列我们依然先从基础入手,然后针对各种生产问题,去看看如何排查、定位、解决。GCGC就是垃圾回收,试想我们的系统在不断地创建新的对象与引用,这些都会占用内存空间,如果不对不再有用的对象原创 2021-05-30 17:30:04 · 529 阅读 · 2 评论 -
多线程与并发编程
距离上次更新已经过了很久了,最近一直在弄公司的三个新产品,目前也终于告一段落了。目前的生产环境系统,CPU性能基本都是过剩的,如何提升系统的性能与使用率呢? 压榨CPU的性能就很有必要了,这里我们先一步步的来看看如何提升CPU使用率。基本概念进程在说线程之前,我们先来说说进程,学过操作系统的小伙伴的都知道进程是OS分配资源的最小单元,一般由程序,数据集合和进程控制块三部分组成。这里讲起来还是比较抽象,举两个例子:1. 电脑打开一个应用程序,会启动一个进程,再打开一个应用程序,会再启动原创 2021-05-29 00:05:02 · 509 阅读 · 2 评论 -
全面质量管理体系方案
质量体系调整方案原因业务不断增加,使得系统复杂度不断增加,回归测试流程越来越长。而对于质量、稳定性、性能以及快速交付能力的要求会进一步提升。如何成为更好的高效能团队,使得稳定性不因为交付吞吐量的提升而下降,同时让整个团队共同担负起质量的责任,是从去年以来,我们一直希望去做到的。很显然我们需要进一步提升自动化测试的程度,提升自动化的覆盖面,进一步清晰化统一化自动化的技术体系,为未来的测试标准化平台化做准备,使得我们可以从大量手工测试、质量与研发体系关联不强,逐渐到质量共责、提升自动化,到慢慢的测试原创 2021-02-04 10:20:42 · 1604 阅读 · 1 评论 -
系统返回码规则建议
为什么要统一返回码返回码返回与传达了系统发生了什么,对于定位问题,找到解决方案是非常重要的一环。要使用好返回码,也需要对于异常处理错误处理有良好的理解。返回码反映了系统的异常情况,异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错? 在哪出的错? 为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异原创 2021-02-04 09:55:47 · 734 阅读 · 0 评论 -
Open Feign调用出现CRTL CODE 31两种解决方案
在通过spring cloud的系统间调用中,大家会大量使用feign,但是在一些业务情况下可能会出现CRTL CODE 31。feign.codec.DecodeException: Error while extracting response for type [class com.zhundian.member.common.R] and content type [application/json]; nested exception is org.springframework.http.co原创 2021-01-15 11:50:50 · 1028 阅读 · 0 评论 -
JavaScript代码规范
类型基本类型: 直接存取基本类型。字符串数值布尔类型nullundefinedconst foo = 1;let bar = foo; bar = 9; console.log(foo, bar); // => 1, 9复杂类型: 通过引用的方式存取复杂类型。对象数组函数const foo = [1, 2];const bar = foo; bar[0] = 9; console.log(foo[0], bar[0]); // => 9, 9引用对所有的引用使翻译 2021-01-06 19:27:49 · 586 阅读 · 0 评论 -
复杂项目的版本管理及git分支管理建议
在复杂项目中,特别是多团队的快速迭代中,版本管理与分支管理,总是我们难以回避的问题,这里分享一下我们在团队中使用的规范,以及对应的每一步的步骤。为什么需要GIT使用建议团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。没有规则的分支管理,同样会使版本变得混乱,系统难以进行持续发布、持续集成。版本号规则版本命名规范软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分原创 2021-01-06 19:02:57 · 4374 阅读 · 0 评论 -
从清晰的RESTful接口到漂亮的系统设计
接口是系统与外界交互的窗口,其他系统通过接口可以知道你管理着哪些资源,他能对这些资源干些什么。当然我们不遵守RESTful的建议也可以满足上面的目标,既然如此我们为什么还要按RESTful的规范来设计我们的接口呢?这样的灵魂拷问很现实也很真实,有小朋友会讲,我写接口都是一把梭,快得很,什么RESTful?不存在的。那么我们先来聊一聊为什么要把接口给RESTful了,稍后再聊如何做,有哪些正例反例,以及如何以接口为开头来设计出漂亮的 DDD CQRS 的微服务系统。为什么要写清晰的RESTful接口原创 2020-07-05 20:59:26 · 4062 阅读 · 0 评论