随笔分类 - 经验分享
摘要:
随着容器化成熟,Prometheus+grafana作为主流监控报警系统越来越被企业所青睐;本篇了解Prometheus的特性,熟悉其架构和组成部分,对其常见概念进行简单说明,其简易部署使得其更稳定更高效,通过docker和二进制两种部署方式搭建Prometheus server,熟悉其控制台常见功能;穿插了监控基础理论,部署Prometheus的两种数据采集exporter和pushgateway,并通过相应采集示例演示,通过一个对CPU监控采集和图形展示的示例了解到Prometheus强大数学支持,最后通过部署grafana实现一个抓取TCP waiting_connection美观的可视化展示。
阅读全文

摘要:
Spring Cloud Gateway作为Spring Cloud生态体系全家桶的一员不可或缺,本篇承接上一文章继续从实战层面如何使用网关局部过滤器和全局路由过滤器,以及如何做自定义实现,进一步通过整合Sentinel实现网关的限流和结合限流控制台详细说明配置操作步骤。...
阅读全文

摘要:
Spring Cloud Gateway作为Spring Cloud生态体系中的网关,目标替代Netflix的Zuul且势在必行,本篇从流量网关和服务网关认识开始,了解常见网关技术选型;进而进行网关开发配置初体验,通过整合Nacos实现服务路由,了解路由断言工厂的常见配置,最后通过一个自定义路由断言工厂的加深理解。
阅读全文

摘要:
在前面的博客已经熟悉ElasticJob分布式任务的应用,其核心实现为elasticjob-lite-spring-boot-starter,少量配置开箱即用;今天就来模拟封装一个简易的分布式任务调度实现定时任务选主执行和故障自动转移的starter,本篇主要重心在于基于SpringBoot官网标准start封装的模板和步骤。
阅读全文

摘要:
开篇先提出ES生产环境部署需要考虑五个问题,进而一步步展开阐述ES集群规划、节点类型规划、脑裂问题避免、分片和副本设置推荐设置,最后以一个日志采集生产环境实战例子,应用ES索引生命周期策略、索引模板实现索引的动态管理过程。
阅读全文

摘要:
本篇从Nacos源码启动开始,逐步学习Nacos的配置模型、一致性协议、寻址机制、服务注册与发现和配置服务的核心原理,有兴趣小伙伴可在此基础上继续深入学习Nacos架构与原理。
阅读全文

摘要:
本篇通过实战一个在线选课系统,推荐一个好用接口工具Apifox,并详细介绍了其常用的功能,从接口设计开始,为设计人员、前端开发、后端开发、测试提供高效率协作案例
阅读全文

摘要:
LinkedIn数据驱动主要有两点领悟,其一是强调动态数据有效性要远远大于静态数据,其二是要利用所有数据化信息而不仅仅是交易核心数据。
本篇主要从Kafka诞生背景开始,一步步引出Kafka的Connect组件,而Confluent也免费开源100多种Connector,最后用一个完整的Source和Sink例子带入门如何在分布式模式使用Kafka的Connector
阅读全文

摘要:
本篇从Nacos配置中心和注册中心服务注册和发现综合使用示例,详细完成剖析的配置中心和注册中心使用和注意事项,同时引入Spring Cloud Loadbalancer和Spring Cloud OpenFeign的实践案例,以库存和订单接口形象的说明微服务整体业务流程
阅读全文

摘要:
不断踩坑并解决问题是每个程序员进阶到资深的必要经历并以此获得满足感,而不断阅读开源项目源码和总结思想是每个架构师成长最佳途径。本篇拉开SpringCloud Alibaba最新版本实战和原理序幕,以工程实践的简单完整实战示例为主线,步步深入并可为实际项目中带来启发
阅读全文

摘要:
本篇简单介绍磁盘的读写分为两种模式,顺序IO和随机IO。 随机IO存在一个寻址的过程,所以效率比较低。而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高。最后通过Java多种读写文件示例的性能测试比较
阅读全文

摘要:
本篇详细剖析DDD的分层架构,从DDD架构视角看MVC架构的问题,总结DDD架构规范,并也从事物两面性角度说明DDD存在一些问题。微服务的拆分一个层面是数据库层面的拆分,一个层面就是上层应用功能业务层面的拆分,但如果系统上层逻辑是依赖底层一个大的数据资源,那么微服务拆分不当就有可能导致拆分后的微服务出现大量的跨库查询、分布式事务的情况。
阅读全文

摘要:
本篇通过简单例子分析对DDD有一个初步全面的理解。随着软件系统越来越庞大,需求越来越模糊,代码越来越混乱,测试越来越困难,技术演进基本不可能,而其中大型复杂的软件项目更容易走向系统老化的过程,形成需求难、开发难、测试难、创新难,单体架构局部业务膨胀可以拆成微服务,那么微服务局部业务膨胀又应该怎么做?DDD之所以火,即能解决微服务解决不了的问题。DDD是为了解决快速变化、复杂系统的设计问题。
阅读全文

摘要:
本篇了解大厂都在使用的ZGC的基础原理和处理过程,了解JVM性能调优的大致步骤和过程,配合之前文章Arthas线上诊断工具
阅读全文

摘要:
本篇着重突击JVM非常之核心内存管理,以代码示例理解JVM内存分配和回收策略和判断对象是否可以回收,全面覆盖垃圾收集算法的方法论以及其实现常见垃圾收集器的应用
阅读全文

摘要:
本篇讲述JVM内存模型总体架构有一个宏观的认识,通过多个简单Java示例代码结合运行时数据区的理论概念进一步理解JVN底层原理,了解堆内存动态分配过程
阅读全文

摘要:
JVM是一种规范,本篇围绕着JVM基础理论、了解JDK的体系结构、jvm的常见实现、逃逸分析、启动参数分类、类加载等层层分析,以理论和示例相结合方式更容易理解,浓缩JVM核心理论
阅读全文

摘要:
除了jvisualvm、jstat、jmap、jstack、 jconsole、Java Mission Control、MAT等,还有一款越来越深受Java技术栈程序员所青睐的线上问题诊断神器Arthas,功能之强大着实令人惊叹,可快速解决很多繁琐的问题,使得程序员无需加班不再是梦
阅读全文

摘要:
很多开源框架也体现对于JDK优雅编程热衷,本篇从JDK8的特性出发,从易懂角度愉快的学习链式编程、Optional使用、Lambada表达式、函数式接口、流式编程,向新时代Java程序员迈出第一步
阅读全文

摘要:
本篇从JMM基础理论开始有一定铺垫后进一步对并发编程三大特性深入理解,阐述volatile和synchronized区别和原理,通过Disruptor代码实战和缓存行、伪共享对并发编程设计有了更深刻认识
阅读全文
