摘要:
CAP选型 一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 P一定要满足,P是指在众多服务中某一服务出现故障,就叫做P,保障C还是A。 其实选型就是选 是否是CP 也就是说在系统 阅读全文
摘要:
##熔断 概念 熔断,当服务在一段时间内失败此次数达到一定比例时,熔断该服务,返回默认消息(降级)。 防止服务雪崩,保证系统整体的健康,提高可靠性,可用性。 三种状态:半开,开启,关闭 开启之后会直接走降级方法,一段时间就会变为半开,放一些请求如果成功就为关闭状态,失败则继续变为开启状态。一直断时间 阅读全文
摘要:
##限流概念 先聊一下生态系统,一个生态系统的能力是有限的,比如说只能容纳多少生物,多少物质消耗,生态系统才能维持平衡。 微服务集群相当于生态系统,限流阈值是当前系统所能处理的最大能力,所以限流是为了系统稳定性。 个性化一点就是,某些接口,动态修改,实现从入口限制住流量。 常见限流:线程池,接口调用 阅读全文
摘要:
###Java 架构师之路 -不积小流,无以成江海。 Idea插件集合 下载官网 工欲善其事 必先利其器 MyBatisCodeHelperPro 可以在Mapper接口的方法和xml实现之间自由跳转等 RestfulToolkit 可以根据URL跳转到对应的接口方法中去,内置了HTTP请求工具,对 阅读全文
摘要:
JAVA线上故障排查全套路 线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jma 阅读全文
摘要:
>软件开发流程 - 生命周期 可行性研究:了解用户需求,和运行环境 需求分析 概要设计 详细设计 编码 测试 部署交付 运维 死亡 >软件开发模式 - 原型化方法 需求采集和细化 快速设计 建造原型 客户评价模型 原型加工 产生样品 >软件项目管理 成本估算 风险分析 进度管理 人员管理 质量管理 阅读全文
摘要:
jvm调优 目的:减少STW(停止世界) FULL GC 几个小时几周正常 GC ROOT 可达性分析(本地方法栈JNI引用,局部变量,静态变量) 垃圾收集 为什么要设计STW机制? gc root 如果寻找非垃圾不停顿,当确定线程对象为非垃圾之后,线程执行完毕,但是这个时候已经把无用的对象赋值了。 阅读全文
摘要:
吞吐量优先的并行收集器 注意事项:64位系统理论上可以设置为无限大,但是一般设置为4G,因为如果再大,JVM进行垃圾回收出现的暂停时间会比较长,这样全GC过长,影响JVM对外提供服务,所以不能太大。一般设置为4G。 注意事项:-Xmn2g:设置年轻代大小为2G。 整个堆大小=年轻代大小+年老代大小+ 阅读全文
摘要:
运行模式 Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化。 org.apache.coyote.http11.Http11Protocol:BIO org.apache.coyote.http11.Http11NioProtocol:NIO org.apach 阅读全文
摘要:
软件设计原则 概述: 软件开发过程中,为了提高系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员应该尽量遵循7大原则来开发程序,从而提高软件开发效率,节约软件开发成本和维护成本。 7大设计原则,侧重点不同 开闭原则是总纲,对扩展开放,对修改关闭。 里氏替换原则,不要破坏类的继承。 依赖倒置 阅读全文
摘要:
#Java单位 对象大小相关 1M=1024kb 1kb=1024byte 1byte=8bit 8个二进制是一byte int 4个字节(byte) long--8个字节(byte) double--8个字节(byte) float--4个字节(byte) short--2个字节(byte) ch 阅读全文
摘要:
类加载 Person.java文件 javac Person.java 生产 Person.class javap -p -v Person.class 进行类加载: 是要将class文件转换为机器码 实现跨平台(不同的jdk) 加载-链接(验证-准备-解析)-初始化-使用-卸载 >加载:字节码文件 阅读全文
摘要:
安装 yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake yum -y install wget httpd-tools vim Nginx 特性 和 优点 1.IO多路复用 epoll (多个IO复用一个) 相对于se 阅读全文
摘要:
Nginx 常见问题 1.相同server_name 多个虚拟主机优先级访问 按照nginx读取配置文件显示顺序读取 location 优先级匹配 1.= 进行普通字符精确匹配 也就是完全匹配 精确匹配优先级最高 2.^~ 表示普通字符匹配 使前缀匹配 3.~ \~* 表示执行一个正则匹配 try_ 阅读全文
摘要:
动静分离演示 通过正则规则 来判断动静分离规则 通过nginx把 动态资源和静态资源进行分离 Rewrite 场景: 1.url访问跳转 支持开发设计 ,兼容性设计(新老接口都要支持),效果展示。 2.SEO优化 伪静态改写 实现搜索引擎的录入 3.维护 后台维护 浏览转发 4.安全 语法: reg 阅读全文