Summarize common technical framework, open source middleware, system architecture, database, large company architecture cases, common tripartite class library, project management, online problem solving, personal growth, thinking and other knowledge of Java ecosystem

 

preface

Some people think that programming is a technical work, to have a certain talent, not talented people can not and also.

As a matter of fact, the author is a computer major and has some experience in technology. It may be difficult for most people to become a top expert in a certain field, but it is not difficult to cope with daily work and grow into a senior R&D engineer, technical expert or even a Team Leader of a small Team

Read more books, read more newspapers, and research open source frameworks such as Github.com, which gathers the wisdom of engineers all over the world!

Without further discussion, here are some common techniques you can use at work and how you can hone your architectural skills.

Because each technology market basically has the corresponding network materials or books, so this paper only lists the core knowledge points used in the work in a few pages, to throw a brick to introduce jade, belongs to the advanced type, not suitable for beginners.

Forward + attention, get [tutorial address] free access.

Basic knowledge of

  • Java
  • spring
  • spring boot
  • spring cloud
  • ibatis
  • Design patterns
  • The Log Log

The database

At present, mysql is still the most used. Although the stand-alone performance is not as good as Oracle, it is free and open source, with low stand-alone cost and the help of distributed cluster, it can have strong output capacity.

  • The connection pool
  • The transaction
  • Depots table
  • Global table ID generator
  • Reading and writing separation
  • SQL tuning
  • other

Web container/protocol/network

Load balancing

The server

  • Nginx
  • Tomcat

agreement

  • The HTTP protocol
  • TCP protocol

CDN

other

Common Tripartite tool kit

  • Google Guava
  • fastJson
  • log4J
  • commons-codec
  • commons-lang3
  • commons-io
  • Quartz
  • HttpClient
  • okhttp
  • Javassist
  • lombok

The middleware

RPC framework

  • dubbo
  • dubbox
  • motan
  • Thrift
  • RPC framework performance comparison

MQ messages

  • ActiveMQ
  • RabbitMQ
  • Kafka
  • RocketMQ
  • MQ framework performance comparison

Distributed cache

  • redis
  • memcache

The local cache

  • Guava
  • Ehcache

search

  • Elasticsearch

Distributed data framework

  • cobar
  • Mycat
  • tsharding
  • tddl
  • sharding-jdbc
  • dbsplit

Distributed coordination service

  • zookeeper

Configuration management

  • super-diamond
  • disconf
  • apollo

Distributed file system

  • FastDFS

Distributed task scheduling framework

  • Elastic-Job
  • Explain dangdang’s distributed job framework, Elastic-Job
  • TBSchedule
  • xxl-job

Big data

  • Hbase
  • Spark
  • Hadoop
  • Hive
  • Other framework

other

  • Incremental subscription & consumption component of database binlog
  • Database synchronization system
  • TCC-Transaction
  • Netty
  • OpenResty

System architecture

  • Experience in architecture
  • A classic case
  • General technical scheme selection
  • Ask before coding 3000
  • Hardware and software performance
  • Technical program

The project management

  • On the importance of demand research
  • The project management
  • Code management
  • Relevant test

operations

  • Troubleshoot online problems quickly
  • Common Linux Commands
  • Native code debugging
  • Docker

Personal growth

  • Learning website
  • Brother Tom’s reading list
  • Personal growth and career planning
  • Programmer literacy

other

  • Common Software Tools
  • Consistent hash algorithm
  • Java interview questions
  • The difference between carriage return and line feed
  • After fork project on Github, how to synchronize updates after commit
  • other

Forward + attention, get [tutorial address] free access.