Implementing Software Architecture of a Large-Scale System

所在平台: Udemy

课程主页: https://www.udemy.com/course/implementing-software-architecture/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**课程名称:大型系统软件架构的实践** **课程概述:** 本课程是“从开发者到架构师”系列课程的进阶篇。如果您认为学习软件开发最好的方法是编写代码,那么学习软件架构的最好方法就是构建和运行一个大型系统。本课程正是采取这种“边学边做”的方式,带您亲手实现一个模拟的大型系统(mini system),从而深刻理解软件和解决方案架构的原则。 我们从一个预先提供的、可下载的mini system代码库开始。在课程的推进过程中,您将逐步学习并解决大型系统中常见的架构挑战,并运用现代的工具、技术和方法来应对这些挑战。通过实际操作一个“活”的系统,您将能够直接体验这些挑战的产生和解决过程。 **学习内容与技术栈:** 课程将以Google Cloud Platform(GCP)上的Linux机器作为开发和运行环境,并利用Kubernetes在GCP上部署最终的生产环境。我们将逐步将mini system演变成一个功能齐全的大型系统实现; **课程将覆盖以下架构挑战,并介绍相应的解决方案和技术:** * **三层应用架构(3 Tier Application):** * Web应用:Python Django * RESTful服务:Java Spring Boot * 数据库:PostgreSQL & Cassandra * 单页应用(SPA):ReactJS * **微服务架构中的请求路由(Request Routing in Microservices):** * 服务发现(Discovery):Netflix Eureka * API网关(Gateway):Netflix Zuul * 客户端负载均衡器(Client-Side Load Balancer):Ribbon * 服务端负载均衡器(Server-Side Load Balancer):Nginx * **系统可观测性(System Observability):** * 日志(Logging):Elasticsearch, Fluent, Kibana (EFK) * 分布式追踪(Tracing):Jaeger * 监控与告警(Monitoring & Alerts):Prometheus * **大规模数据管理(Large-scale Data Management):** * 缓存(Caching):Redis * 异步处理(Asynchronous Processing):RabbitMQ * 水平数据分区(Horizontal Data Partitioning):Cassandra * **生产部署(Production Deployment):** * 云部署(Cloud Deployment):Kubernetes on GCP * 自动伸缩(Auto-scaling):Kubernetes * 高可用性(High Availability):Kubernetes * 滚动升级(Rolling Upgrades):Kubernetes **课程目标:** 通过动手实践,深入理解大型系统软件架构的设计原则和实现细节,提升解决实际架构问题的能力。

课程评论(0条)

课程详情

The best way to learn software development is to write code. The best way to learn software architecture is to build and run a system. This is exactly what you are going to do as part of this course! This course is the next in the series of Developer to Architect courses. The previous course 'Software Architecture & Technology of Large-Scale Systems' was focused on the concepts and principles of software architecture that govern modern large-scale systems. This course 'Hands-On Implementation of Large-Scale Software Architecture', is focused on implementing those software and solution architecture principles in a mock large-scale system (mini system or simply minisys) by using open source technologies.It starts with a downloadable code base of a mini system. We evolve this mini system into a full-fledged large-scale system implementation as we move along with the course. Our goal is to learn the typical architectural challenges that are faced by any large-scale system and solve these challenges using modern tools, technologies, and methods. You can learn about these challenges and their solutions by actually working on a live system. For the same, you can download a mini system code-base provided by NewTechWays on Bitbucket or Github. You can follow the instructions to download, build and run this codebase. Although the instructions and code automation is platform-agnostic, this course will make use of Google Cloud Platform using a Linux machine as our test environment for building and running the system. Later we will put our system in a Production kind of environment using Kubernetes on Google Cloud Platform. As we move along with this course we will cover the following architectural challenges and use the following technologies as their solutions:3 Tier ApplicationWebapp - Python DjangoRESTful Service - Java Spring BootDatabase - PostgreSQL & CassandraSPA - ReactJSContainerization of SystemDocker ContainersDocker Compose Request Routing in MicroservicesDiscovery - Netflix EurekaGateway - Netflix ZuulClient-Side Load Balancer - RibbonServer-Side Load Balancer - NginxSystem ObservabilityLogging - Elasticsearch, Fluent, KibanaTracing - JaegerMonitoring & Alerts - PrometheusLarge-scale Data ManagementCaching - RedisAsynchronous Processing - RabbitMQHorizontal Data Partitioning - CassandraProduction DeploymentCloud Deployment - Kubernetes on GCPAuto-scaling - KubernetesHigh Availability - KubernetesRolling Upgrades - Kubernetes

课程标签

0人关注该课程

主题相关的课程