• 60 个小时的学习
  • 15 个技术专题
  • 10 个互动练习
  • 1 项固定服务 + 1 项选定服务
  • 3 个项目模块构建
  • 16 个项目库

课程大纲

Week 1: Foundations of Distributed Systems and Databases

Learn the basics of distributed systems, databases (SQL), and microservices architecture.
Day 1: Development Journey
Introduction to the software development lifecycle and key practices.
Day 2: Databases – SQL 1
SQL basics, CRUD operations, and database schema design.
Day 3: Databases – SQL 2
Joins, indexing, and query optimization.
Day 4: Databases – SQL 3
Database sharding, functions, and stored procedures.
Day 5: Practice Session – TCS DB Design
Hands-on practice on requirement analysis and database design of TCS.

Week 2: Microservices Infrastructure, MongoDB, and Service Design

Design microservices, implement infrastructure, and introduce MongoDB for NoSQL storage.
Day 6: Advanced TCS System
Introducing new requirements for TCS and the role of FIX messaging in trade communication.
Day 7: MongoDB Introduction
Introduction to MongoDB, key concepts, and how to work with document-based data in a microservices environment.
Day 8: Distributed System Fundamentals
Transforming the Trading Capturing System into a scalable microservices architecture by identifying key components and best practices.
Day 9: Practice Session - High-Level Design of TCS and FIX Message
Migrate and design the Trading Capturing System following a microservice architecture and parse FIX messages.
Day 10: Service Communication and Service Registry
Introduction to rest-util infrastructure code and service registry with Eureka and Kubernetes.

Week 3: Security, Caching, and Messaging in Microservices

Secure APIs, implement caching with Redis, and explore messaging with Kafka in microservice environments.
Day 11: Microservice Infrastructure
Load balancing with Kubernetes and Eureka, centralized configuration, and API gateway.
Day 12: OAuth 2 and OpenID Connect
Authentication and authorization with OAuth 2 and OIDC.
Day 13: Practice Session - Build Our First SDK
Secure APIs using OIDC and build rest-util as our first SDK.
Day 14: Redis for Caching and Persistence
Caching strategies, session storage, and data persistence with Redis.
Day 15: Practice Session - Build Our Second SDK
Implement logout support and refresh tokens in security-utils SDK.

Week 4: Asynchronous Communication and Messaging

Utilize message queues and streaming for async service communication.
Day 16: Async Service Communication
Multi-threading in web applications with CompletableFuture, RabbitMQ, and Kafka.
Day 17: Kafka Basics - FIX Message Processing
Introduction to Kafka, message streaming, and processing string-based FIX messages.
Day 18: Kafka Advanced - AVRO & JSON
Implementing schema-based messages with Avro and JSON serialization.
Day 19: Practice Session - Build Our Third SDK
Develop kafka-utils to support high-throughput messaging and ease of use.
Day 20: Transaction Management in Distributed Systems
Managing transactions with Two-Phase Commit (2PC) and Saga patterns.

Week 5: Resilience, Failure Handling, and Data Consistency

Ensure system stability, data consistency, and fault tolerance in microservices.
Day 21: Practice Session - Data Consistency Between Allocation and Execution
Implement strategies to maintain data consistency across the TCS application.
Day 22: Failure Handling and Resilience
Retry mechanisms, dead-letter queues, handling cascading failures with Resilience4j.
Day 23: Practice Session - Enhance TCS with Resilience4j
Implement circuit breakers and rate limiters to improve system stability.
Day 24: Scaling & Centralized Logging
Implement log aggregation using the ELK stack and explore Kubernetes scaling patterns.
Day 25: Jenkins & Kubernetes Deployment
Automate deployments with CI/CD pipelines in Jenkins and deploy to Kubernetes.

Week 6: Final Exam and Group Project

Demonstrate mastery of distributed systems, security, and scalability through a final project.
Day 26 - Day 30: Final Exam & Group Project
Apply all learned concepts in a capstone project and demonstrate scalability, security, and resilience.
WeChat QRCode

微信

Thank you. Your message has been sent.

    免费预约服务

      领取求职礼包