Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go

Jyotiswarup Raiturkar

買這商品的人也買了...

商品描述

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling

Key Features

  • Gain knowledge of architectural approaches on SOA and microservices for architectural decisions
  • Explore different architectural patterns for building distributed applications
  • Migrate applications written in Java or Python to the Go language

Book Description

Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns.

Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages.

By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang.

What you will learn

  • Understand architectural paradigms and deep dive into Microservices
  • Design parallelism/concurrency patterns and learn object-oriented design patterns in Go
  • Explore API-driven systems architecture with introduction to REST and GraphQL standards
  • Build event-driven architectures and make your architectures anti-fragile
  • Engineer scalability and learn how to migrate to Go from other languages
  • Get to grips with deployment considerations with CICD pipeline, cloud deployments, and so on
  • Build an end-to-end e-commerce (travel) application backend in Go

Who this book is for

Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.

Table of Contents

  1. Building Big with Go
  2. Packaging Code
  3. Design Patterns
  4. Scaling Applications
  5. Going Distributed
  6. Messaging
  7. Building APIs
  8. Modeling Data
  9. Anti Fragile Systems
  10. Case Study Travel Website
  11. Planning for deployment
  12. Migrating Applications

商品描述(中文翻譯)

了解軟體架構原則,包括SOA、分散式和消息系統以及資料庫建模。

主要特點:
- 瞭解SOA和微服務的架構方法,以進行架構決策
- 探索構建分散式應用程序的不同架構模式
- 將使用Java或Python編寫的應用程序遷移到Go語言

書籍描述:
構建軟體需要仔細的規劃和架構考慮;Golang以對雲端上的下一代應用程序進行分散和並發計算的新觀點而開發。《Hands-On Software Architecture with Golang》從簡要介紹架構元素、Go語言和案例研究開始,以展示架構原則。然後,您將深入研究代碼層面的內容,例如模塊化、類設計和Golang特定的構造,以及設計模式的實現。隨著您逐步閱讀各章節,您將探索架構的核心目標,例如有效地管理軟體系統的複雜性、可擴展性和可靠性。您還將學習創建分散式系統及其通信,然後進行數據建模和擴展。在最後幾章中,您將學習部署架構並計劃從其他語言遷移應用程序。通過閱讀本書,您將獲得各種設計和架構模式的見解,從而能夠使用Golang創建堅固、可擴展的架構。

您將學到:
- 瞭解架構範式,深入研究微服務
- 設計並行/並發模式,並學習Go中的面向對象設計模式
- 通過介紹REST和GraphQL標準,探索基於API的系統架構
- 構建事件驅動的架構,使您的架構具有抗壓性
- 設計可擴展性,並學習如何從其他語言遷移到Go
- 瞭解部署考慮事項,包括CICD流程、雲端部署等
- 在Go中構建端到端的電子商務(旅遊)應用程序後端

本書適合對使用Go進行軟體架構並構建企業級應用程序的軟體開發人員、架構師和CTO。假設讀者具備Golang的程式設計知識。

目錄:
1. 使用Go進行大型構建
2. 封裝代碼
3. 設計模式
4. 應用程序擴展
5. 分散式應用程序
6. 消息傳遞
7. 構建API
8. 數據建模
9. 抗壓系統
10. 案例研究:旅遊網站
11. 部署計劃
12. 應用程序遷移