There is no such thing as perfect programming, but we shouldn’t be discouraged because programming is a constant pursuit of perfection.

  • Single unit: server, database, and file system

  • Hardware upgrade: CPU memory disk file system

  • Cache: local Redis memcache

  • Load: Request distribution

    • Software: Apache Nginx LVS
    • Hardware: F5
    • CDN: domain name – IP address
  • Database master/slave replication read/write separation: mycat sharding-JDBC

  • Network:

    • Reverse proxy: cache nginx cache
    • CDN acceleration: Nearest cache
  • Distributed file systems and database systems:

    • Distributed file system: FastDFS TFS
    • Distributed database system: sub-table myCAT Sharding – JDBC
  • Massive data search processing:

    • Search: Lucene Solr es
    • No: mongo es
  • Business separation:

    • RPC:

      dubbo

      feign
    • MQ:

      ActiveMQ

      RabbitMQ

      Kafka

      RocketMQ
  • Service and configuration center:

    • Servitization: SOA-ESB microservices
    • Zk Apollo Spring-Cloud-config
  • Big data, monitoring, logging:

    • Big data: Hadoop Spark
    • Monitoring and logging: Zabbix ELK
  • Automation:

    • Container: Docker K8S