roboslyq的技术专栏 JavaEE Coder,micro service

个人计划 Java架构师技术栈 应用篇

2019-04-16


个人学习技术学习路径

​ 时光如梭,大学的时光仿佛就像昨天,还历历在目,可实际上已经过去了八年之久。回首这过去八年,发现自己竟然没有留下什么有价值的东西。牛顿曾经说过:我看得远,是因为我站在巨人的肩膀上。虽然我不是什么巨人,只是一枚普普通过的老程序员,但还是希望将自己的经历经验记录下来,希望有缘人有机会可以看到对其有些帮助。至少是对自己过去的经验作一个总结,为后续的工作提供更好的发展。

山外山,天外天,自己自是一个普通的程序员。要自信但也不要自大。

思想,是编程的核心。而知识的积累是思想的源泉。脚踏实地,做好技术。

本文主要是自己作的Java体系相关的技术。希望2019年能在基础方面有很好的提高。一切高深的技术源于基础,源于基本的算法。所以数据结构与算法,设计模式等是一切框架的基础。因此19年优先打好基础,但同时也要把握住技术趋势,知道技术发展方向。

形成自己的知识体系,进行总结,根据总结不断发散知识的知识体系

SpringCloud及Spring学会使用及背后源码阅读,了解其运行原理

比如eureka内部怎么保证强一致性,springcloud服务降级组件与原理

动态网关zuul原理

robbion负载均衡有几种

mysql同步原理

Java核心

字节码

ASM

Cglib

Javassit

Byte Buddy

skywalking使用

版本管理

ant

maven

gradle

网络编程

Netty

Spring全家桶

  • Spring Frameworkd
  • SpringMVC
  • Spring WebFlux
  • Spring boot
  • Spring Cloud
  • Spring Security
  • Spring batch

微服务技术栈

## IOC容器

spring IOC

  • Undertow
  • Tomcat
  • jetty

Guice

  • appollo在使用

light-4j

  • 内置Undertow容器

WEB服务器

apache

nginx

envoy

注册中心

Eureka(Netflix)

Consul

Nacos

Etcd

Zookeeper

分布式服务权限控制系统

OAuth

JWT

单点登录

Hystrix

shiro

分布式网关层

F5

Ngnix+(打通Consul)

ESB

Kong

Spring gateway

Zuul

开源的SIA

异构网关

服务治理

Zookeeper

Nacos

Eureka

远程调用RPC

DUBBO

Motan

Sofa

SpringCloud

gRPC

BRPC

thrift

Tencent

配置中心

Appollo

Nacos

Disconf

Spring Cloud Config

ETCD

服务降级熔断限流

sentinel

hystrix

Redis

Guava

服务负载

sentinel

ribbon

服务安全认证

spring security

分布式事务

LCN

TCC

SAGA

Seata

dts

tcc-transaction

hmily

ByteTCC

myth

EasyTransaction

tx-lcn

分布式日志系统

ELK

(Kibana,ElasticSearch,Logstash)

Kafka

Flume

Splunk

分布式服务和系统诊断

Arthas

分布式分库分表中间件

sharding

cobar

mycat

TDDL

DRDS

Atlas

DBProxy

分布式数据库分析诊断系统

慢SQL

听云

分布式自动化数据库脚本升级

Flyway

多数据源

Sharding Sphere

MyCat

分布式监控中心

spring Admin

MOSS

  • 由许进大神维护,目前还未开源

CAT

SBA

Prometheus

Grafana

​ 很强大

Graphite

Statsd

Solarwinds

Zabbix

Centreon

appDynamics

new relic

Kaeger

服务调用链监控

zipkin

CAT

Pinpoint

skywalking

DynaTrace

分布式锁

Redisson

Redis

Zookeeper

分布式任务调度

xxl-job

elastic-job

分布式全局主键系统

Redis

Zookeeper

Twitter Snowflake

全文搜索引擎

Lucene

Solr

Elasticsearch

分布式消息队列中间件

RocketMQ

Kafka

ActiveMQ

Tibco

Apache Pulsar

缓存体系

分布式缓存

Redis

Jedis
Jedisson

jetcache

MongoDb

MemCache

Hazelcast

Hazelcast是一个用Java编写的基于内存的数据网格管理平台(open source in-memory data grid)。同时也是一个公司的名字。 公司网站:https://hazelcast.com 产品网站:https://hazelcast.org

本地缓存

Ehcache

guava

Caffeine

Java中的ConcurrentHashMap

分布式流程和服务编排

uber/cadence

netflix/conductor

zeebe-io/zeebe

ing-bank/baker

aws/setp functons

分布式压测平台

JMeter

LoadRunner

分布式自动化测试

Postman

Jenkins

Advance REST API(Google浏览器插件)

可持续集成

Jekins

DevOps

CICD

Pipeline

Jenkins

蓝鲸

TriAquae

Choerodon(猪齿鱼)

分布式自动化API文档

Swagger

Yapi

(去哪儿)

Nei

Rap

easy-mock

异构系统(Side Car)

Spring Cloud Sidecar

Service Mesh

istio

Sofa mesh

容器(Docker)化

K8S

K3S

Docker

其它

代码规约

P3C

sonarlint

​ 配合sonarqube使用

工具使用

lombok

Guava

Apache Commons

内网穿透

ngrok

natapp

frp

nat123端口映射

内网通

其它

微服务架构之事件驱动架构

http://m.blog.csdn.net/article/details?id=52537886 DDD、微服务和容器技术三者的关系 http://m.blog.csdn.net/article/details?id=52420859

Eventuate:基于操作CRDT的服务框架

http://eventuate.io/whyeventdriven.html

事件回溯是CQRS框架的模式, http://eventuate.io/是推CQRS编程方式的。但cqrs不一定要用事件溯源,binlog当事件也可以,看公司投入了。Binlog是数据库之下的,Cqrs是应用层的,很难做到理想状态。CQRS目前最大的优势是研发层全部去事务化,带来的代价是它的编程很别扭,应对简单场景很别扭,但是应对高并发的业务场景,很合适。去事务化太理想了吧,牺牲一致性。
axon 、jdon,这2个框架已经都完全基于Cqrs,全部去事务化了。它的问题在于这重思路做得再完美,也只能解决一个项目20%的复杂问题,因为剩下80%都是相对更简单的场景,简单场景mvc就能搞定,为什么要用你这么复杂的cqrs。
不过不得不说它的去事务方案确实很牛的,反正辩证去看待就好,编程是工程性质的东西,以能解决问题为目的。

Apache ignit

https://www.zybuluo.com/liyuj/note/1179662

h2 (Java实现的数据库)

http://www.h2database.com/html/main.html

微服务技术栈

spring boot

Micronaut


Comments

Content