HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版

所需积分/C币:19 2019-02-02 15:24:25 17.45MB PDF

Golang 架构,如何架构你的大型Golang应用,英文版,如有侵权,请联系删除
Hands-On Software Architecture with Galang Copyright o 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews Every effort has been made in the preparation of this book to ensure the accuracy of the information presented However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information Commissioning Editor: Merint Mathew Acquisition Editor: Chaitanya nai Content Development Editor: Rohit Kumar Singh Technical Editor: Ketan Kamble Copy Editor: Safis Editing Project Coordinator: Vaidehi Sawant Proofreader: Safis Editing Indexer: Tejal dar Graphics: Alishon Mendonsa Production Coordinator: Arvindkumar Gupta First published December 2018 Production reference: 1071218 Published by Packt Publishing Ltd L 35L Birmingh B3 2PB, UK ISBN978-1-78862-259-2 acktpub. com Mapt mapt.lO Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website Why subscribe? Spend less time learning and more time coding with practical ebooks and videos from over 4, 000 industry professionals Improve your learning with skill Plans built especially for you Get a free ebook or video every month e Mapt is fully searchable Copy and paste, print, and bookmark content Packt. com Did you know that Packt offers ebook versions of every book published, with PDF and epubfilesavailableYoucanupgradetotheebookversionatwww.packt.comandasaprint book customer, you are entitled to a discount on the ebook copy. Get in touch with us at customercare@packtpub com for more details Atwww.packt.comyoucanalsoreadacollectionoffreetechnicalarticlessignupfora range of free newsletters and receive exclusive discounts and offers on packt books and ebooks Contributors About the author Jyotiswarup Raiturkar has architected products ranging from high-volume e-commerce sites to core infrastructure products. Notable products include the walmart labs Ecommerce Fulfillment Platform, Intuit Mint, SellerApp, Goibibo, Microsoft Virtual Server, and ShiftPixy to name a few. Nowadays, he codes in Golang Python, and Java About the reviewer Peter Malina is a Cto at a Brno-based software agency called FlowUp He is a cloud lover a bleeding-edge technology pioneer, and a Golang and Angular specialist. He also is a speaker at local events and is an enthusiastic Kubernetes and gCP solution architect Packt is searching for authors like you Ifyou'reinterestedinbecominganauthorforPackt,pleasevisitauthorspacktpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for or submit your own idea Table of contents Preface Chapter 1: Building Big with Go Problem solving for the big picture 8 The role of the architect 9 Requirements clarification 10 True north 10 Technology selection Leadership in the kitchen Coaching and mentoring Target state versus current state 12 Software architecture 12 Architecture versus design 12 What does architecture look like? 13 Microservices 17 The challenges for microservices -efficiency 21 The challenges for microservices-programming complexity 22 Go 23 Hello world 26 Data types and structures Functions and methods Flow control 30 Packaging 31 Concurrency 33 Garbage collection 35 Object-orientation 36 Summary 37 Chapter 2: Packaging Code 38 Contracts 39 Object orientation 0 Object orientation in go-the struct 47 Object orientation in Go-visibility 49 Object oriented in go- the interface 50 Object oriented in Go-embedding 54 Modules 57 Code la lout 57 Third-party dependencies 59 Framework 62 Testing 62 Structuring tests 63 Table of contents Summary 65 Chapter 3: Design Patterns 66 Design principles 66 Single Responsibility Principle(S) 67 Open/Closed Principle (O) 68 Liskov Substitution Principle(L) 69 nterface Segregation Principle 70 Dependency Inversion Principle(D) 71 Creational design patterns 72 Factory method 73 Builder 73 Abstract factory 75 Singleton 77 Structural design patterns 78 Adaptor 78 Bridge 79 Composite 82 Decorator 83 Facade 84 roxy 85 Behavioral design patterns 86 Command 86 Chain of Responsibility 89 Mediator 90 Memento 92 Observer 93 Visitor 95 Strategy 98 State 100 Summary 102 Chapter 4: Scaling Applications 103 Scaling algorithms 105 Algorithm complexity 105 Distributed algorithms 109 Scaling data structures 111 Profiling data structures 111 Probabilistic data structures 114 Scaling data 115 Scalability bottlenecks 116 The C10K problem 116 The Thundering Herd problem 118 Sources 118 Programming 119 Operating systems 120 Table of contents Memory usage 122 Losing state 124 Scaling systems 127 X-axis scaling 128 axis scaling 129 Z-axis scaling 133 Scaling deployments 134 Summary 135 Chapter 5: Going Distributed Topology 138 Distributed system quirks 140 The network is reliable 140 The latency is zero 141 The bandwidth is infini 142 The network is secure 142 The topology doesn 't change 143 There is one administrator 144 The transport cost is zero 144 The network is homogeneous 145 Consistency 146 ACID 147 Client-centric consistency models 147 Strong consistency 148 Weak consistency 149 Eventual consistency 149 Sequential consistency 149 Causal consistency 150 Session consistency 150 Monotonic read consistency 150 Monotonic write consistency 151 Storage system-centric consistency model 151 CAP theorem 152 Consensus 153 The two generals problem 154 Consensus based on time - causality 154 Multi-phase commit 157 TWO-phase commit 158 Three-phase commit 159 Paxos 160 Raft 163 Leader-election 164 Distributed architectures 165 Object-based systems 165 Layered architectures 168 Peer-2-peer(P2P)architecture 169 Distributed computations 174 Table of contents Event-driven architecture(EDA) 177 The actor model 81 Stream processing 82 Summary 183 Chapter 6: Messaging 184 Performance characterization 184 Broker-based messaging 185 The queuing model 185 The pub/sub model 187 Delivery semantics 188 Acknowledgement 189 At-least-once delivery 190 At-most-once delivery 191 Exactly-once delivery 191 Resilience 192 AMQP 192 Apache Kafka deep dive 194 Concepts 194 Publishing messages 198 The asyncProducer interface 198 The Sync producer 201 Consuming messages 203 Stream processing 205 Brokerless messaging 206 NsQ deep-dive Concepts 208 Publishing messages 210 Consuming messages 212 Integration patterns 214 The request-reply pattern 214 The correlation identifier pattern 215 The pipes and filters pattern 216 The content-based router pattern 218 The fan-in pattern 219 The fan-out pattern 221 The background worker pattern 222 Summary 224 Chapter 7: Building apis 225 Endpoints 225 Networking basics 226 Service discovery 226 Server-side service discovery 227 Client-side service discovery 230 Data serialization 231 XML 231

...展开详情
试读 127P HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版

评论 下载该资源后可以进行评论 2

purestoneguy 很不错,完整版,格式工整
2019-04-06
回复
retry 到处没有. 在万能的 CSDN 找到. 完美PDF, 5 积分很值.
2019-03-02
回复
img
萝BAIBAI

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版 19积分/C币 立即下载
    1/127
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第1页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第2页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第3页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第4页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第5页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第6页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第7页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第8页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第9页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第10页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第11页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第12页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第13页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第14页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第15页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第16页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第17页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第18页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第19页
    HANDSON_SOFTWARE_ARCHITECTURE_WITH_GOLANG,Golang架构2019年新书,英文版第20页

    试读已结束,剩余107页未读...

    19积分/C币 立即下载 >