简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
随着业务的发展,系统会越来越庞大,原本简单稳定的功能,可能在不断迭代后复杂度上升,潜在的风险也随之暴露,导致最终服务不稳定,造成业务价值的损失。而为了减少这种情况,其中一种比较好的方式就是提高代码质量,从而降低错误风险。工欲善其事,必先利其器,这篇文章给大家介绍几种检查代码质量的利器:Alibaba Java Coding Guidelines、CheckStyle、PMD、FindBugs、So
一、彻底清除VMware Workstation:该部分转自:http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1308方法1:dos下进入安装文件的目录,运行安装文件,输入:VMware-workstation-full-7.
当系统中微服务数量越来越多时,如果任由这些服务散落在各处,那么最终管理每个项目的接口文档将是一件十分麻烦的事情,单是记住所有微服务的接口文档访问地址就是一件苦差事了。当如果能够将所有微服务项目的接口文档都统一汇总在同一个可视化页面,那么将大大减少我们的接口文档管理维护工作,为此,我们可以基于 Spring Cloud Gateway 网关 + nacos + knife4j 对所有微服务项目的接口
Reactor 模式也叫做反应器设计模式,是一种为处理服务请求并发提交到一个或者多个服务处理器的事件设计模式。当请求抵达后,通过服务处理器将这些请求采用多路分离的方式分发给相应的请求处理器。Reactor 模式主要由 Reactor 和处理器 Handler 这两个核心部分组成,它俩负责的事情如下:① Reactor:负责监听和分发事件,事件类型包含连接事件、读写事件;② Handler :负责处
随着系统的复杂度也越来越高,我们软件架构也进入了分布式阶段,一次请求可能横跨多个服务模块、项目,依赖的中间件也越来越多,其中任何一个节点出现异常,都可能导致业务出现波动或者异常。而传统的日志监控等方式无法很好满足调用链路跟踪,排查问题等需求,这就导致定位/诊断服务异常变得异常复杂。因此面对复杂的调用链路,我们需要一款具体如下功能全链路追踪工具,提高我们对业务的掌控度:①请求链路追踪,快速定位故障;
一、什么是Anaconda:Anaconda是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项,可以用于包管理器和环境管理。比如A项目中用了Python2,而B项目使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误,这是使用Anaconda就可以为不同的项目建立不同的运行环境。二、安装Anaconda:1、下载Anaconda安装包
1、单体架构:将所有业务的表现层,业务逻辑层,数据访问层放在一个工程中最终部署在一台服务器2、垂直架构:按业务场景拆分为互不相干的单体架构项目3、前后端分离:前端关注页面样式与动态数据的解析及渲染,后端专注于具体业务逻辑4、EAI架构:连通与集成相互独立的异构系统,解决信息孤岛的问题。5、SOA架构:将各系统的不同功能单元抽象为服务,服务间通过标准的接口协议连接,从而到达复用6、微服务:SOA思想
一、为什么需要主从复制:1、单台Redis节点的局限性:(1)单节点的Redis能够支撑QPS大概在5万左右,如果上千万的用户访问,Redis就承载不了,成为了高并发的瓶颈。(2)内存上,单个Redis的内存不宜过大,内存过大会导致主从同步时全量同步时间过长,而且在实例重启恢复时也会消耗很长的数据加载时间,一般控制在10G以内即可。(2)CPU 的利用率上,单个 Redis 实例只能利用单个核心,
1、什么是循环依赖:类与类之间的依赖关系形成了闭环,就会导致循环依赖问题的产生。2、循环依赖问题在Spring中主要有三种情况:(1)通过构造方法进行依赖注入时产生的循环依赖问题。(2)通过setter方法进行依赖注入且是在多例(原型)模式下产生的循环依赖问题。(3)通过setter方法进行依赖注入且是在单例模式下产生的循环依赖问题。3、Spring解决的单例模式下的setter方法依赖注入引起的
在传统的数据 IO 模式中,读取一个磁盘文件,并发送到远程端的服务,就共有四次用户空间与内核空间的上下文切换,四次数据复制,分别是两次 CPU 数据复制,两次 DMA 数据复制。零拷贝指在进行数据 IO 或传输时,数据在用户态下经历了零次拷贝,并非不拷贝数据。通过减少数据传输过程中 内核缓冲区和用户进程缓冲区间不必要的 CPU数据拷贝 与 用户态和内核态的上下文切换次数,降低 CPU 在这两方面的