分布式高可用
文章平均质量分 76
图灵学院
Java工程化、高性能及分布式、高性能、高架构。性能调 优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货分享
展开
-
JVM整体结构与垃圾回收算法介绍问题
1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。2.执行引擎:负责执行class文件中包含的字节码指令(执行引擎的工作机制,这里也不细说了,这里主要介绍JVM结构);3.内存区(也叫运行时数据区):是在JVM运行的时候操作所分配的内存区。运行时内存区主要可以划分为5个区域,如图:方法区(Method Area):用于存储类结构信...转载 2018-10-22 14:10:39 · 241 阅读 · 0 评论 -
微服务之API网关接口设计
微服务之API网关接口设计API网关,顾名思义,就是外部到内部的一道门,其主要功能:服务路由:将前段应用的调用请求路由定位并负载均衡到具体的后端微服务实例,对于前端应用看起来就是1个应用提供的服务,微服务对于前段应用来说就是黑盒,前段应用也不需要关心内部如何分布,由哪个微服务提供。主要有静态路由和动态路由。 静态路由:有时候需要通过域名或者其他固定方式提供和配置路由表 动态路...原创 2018-10-28 14:30:22 · 4793 阅读 · 0 评论 -
JAVA并发编程之多线程并发同步业务场景与解决方案
Java并发编程是一个很热点的话题,无论在面试时候还是在高并发的场景中。都会涉及到Java的并发编程相关的知识。Java的并发编程有两个主要的基础知识,一个是线程安全另一个是线程间通信。本Java并发编程系列博客作为博主系统学习Java并发编程的知识记录。也希望可以帮助其他人。摘要 1,线程概念 2,Java线程的实现方式 3,Java线程状态流转介绍 4,Thread类中的...原创 2018-10-23 14:34:30 · 890 阅读 · 0 评论 -
高并发场景下的缓存有哪些常见的问题?
分布式缓存重建并发冲突解决方案对于缓存生产服务,可能部署在多台机器,当redis和ehcache对应的缓存数据都过期不存在时,此时可能nginx过来的请求和kafka监听的请求同时到达,导致两者最终都去拉取数据并且存入redis中,因此可能产生并发冲突的问题,可以采用redis或者zookeeper类似的分布式锁来解决,让请求的被动缓存重建与监听主动的缓存重建操作避免并发的冲突,当存入缓存...原创 2018-10-29 16:10:58 · 575 阅读 · 0 评论 -
互联网分布式系统Session一致性问题解析
1. 什么是Session?用户使用网站的服务,需要使用浏览器与Web服务器进行多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。具体的实现方式是:在会话开始时,分配一个唯一的会话标识(SessionID),并通过Cookie将这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识SessionID来告诉Web服务器这...转载 2018-10-24 15:26:22 · 317 阅读 · 0 评论 -
解决Spring MVC @ResponseBody返回中文字符串乱码问题
解决Spring MVC @ResponseBody返回中文字符串乱码问题引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset...原创 2018-10-30 19:42:37 · 3309 阅读 · 1 评论 -
Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner, CommandLineRunner 接口的 Component 会在所有 SpringBeans都初始化之后, Spri...转载 2018-11-04 15:45:10 · 610 阅读 · 0 评论