دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [4.01 ed.]
نویسندگان: Maarten van Steen. Andrew S. Tanenbaum
سری:
ISBN (شابک) : 9081540637, 9789081540636
ناشر: Maarten van Steen
سال نشر: 2023
تعداد صفحات: 683
[685]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 32 Mb
در صورت تبدیل فایل کتاب Distributed Systems: Principles and Paradigms به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب سیستم های توزیع شده: اصول و پارادایم ها نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این چهارمین ویرایش "سیستم های توزیع شده" است. ما به تنظیمات ویرایش سوم نزدیک بوده ایم، از جمله نمونه هایی از (بخشی از) سیستم های توزیع شده موجود نزدیک به جایی که اصول کلی مورد بحث قرار می گیرد. به عنوان مثال، ما مطالبی را در مورد سیستم های بلاک چین آورده ایم و اجزای مختلف آن ها را در سراسر کتاب مورد بحث قرار داده ایم. ما مجدداً از بخشهای جعبهدار ویژهای برای مطالبی استفاده کردهایم که میتوان آنها را در اولین مطالعه نادیده گرفت.
متن بهطور کامل بررسی، اصلاح و بهروزرسانی شده است. به طور خاص، تمام کدهای پایتون به Python3 به روز شده است، در حالی که در همان زمان بسته کانال تقریباً به طور کامل اصلاح و ساده شده است.
مواد اضافی، از جمله مثالهای کدنویسی، شکلها و اسلایدها در www.distributed-systems.net موجود است.
This is the fourth edition of “Distributed Systems.” We have stayed close to the setup of the third edition, including examples of (part of) existing distributed systems close to where general principles are discussed. For example, we have included material on blockchain systems, and discuss their various components throughout the book. We have, again, used special boxed sections for material that can be skipped at first reading.
The text has been thoroughly reviewed, revised, and updated. In particular, all the Python code has been updated to Python3, while at the same time the channel package has been almost completely revised and simplified.
Additional material, including coding examples, figures, and slides, are available at www.distributed-systems.net.
Preface Introduction From networked systems to distributed systems Distributed versus decentralized systems Why making the distinction is relevant Studying distributed systems Design goals Resource sharing Distribution transparency Openness Dependability Security Scalability A simple classification of distributed systems High-performance distributed computing Distributed information systems Pervasive systems Pitfalls Summary Architectures Architectural styles Layered architectures Service-oriented architectures Publish-subscribe architectures Middleware and distributed systems Middleware organization Modifiable middleware Layered-system architectures Simple client-server architecture Multitiered Architectures Example: The Network File System Example: The Web Symmetrically distributed system architectures Structured peer-to-peer systems Unstructured peer-to-peer systems Hierarchically organized peer-to-peer networks Example: BitTorrent Hybrid system architectures Cloud computing The edge-cloud architecture Blockchain architectures Summary Processes Threads Introduction to threads Threads in distributed systems Virtualization Principle of virtualization Containers Comparing virtual machines and containers Application of virtual machines to distributed systems Clients Networked user interfaces Virtual desktop environment Client-side software for distribution transparency Servers General design issues Object servers Example: The Apache Web server Server clusters Code migration Reasons for migrating code Models for code migration Migration in heterogeneous systems Summary Communication Foundations Layered Protocols Types of Communication Remote procedure call Basic RPC operation Parameter passing RPC-based application support Variations on RPC Message-oriented communication Simple transient messaging with sockets Advanced transient messaging Message-oriented persistent communication Example: Advanced Message Queuing Protocol (AMQP) Multicast communication Application-level tree-based multicasting Flooding-based multicasting Gossip-based data dissemination Summary Coordination Clock synchronization Physical clocks Clock synchronization algorithms Logical clocks Lamport's logical clocks Vector clocks Mutual exclusion Overview A centralized algorithm A distributed algorithm A token-ring algorithm A decentralized algorithm Example: Simple locking with ZooKeeper Election algorithms The bully algorithm A ring algorithm Example: Leader election in ZooKeeper Example: Leader election in Raft Elections in large-scale systems Elections in wireless environments Gossip-based coordination Aggregation A peer-sampling service Gossip-based overlay construction Secure gossiping Distributed event matching Centralized implementations Secure publish-subscribe solutions Location systems GPS: Global Positioning System When GPS is not an option Logical positioning of nodes Summary Naming Names, identifiers, and addresses Flat naming Simple solutions Home-based approaches Distributed hash tables Hierarchical approaches Secure flat naming Structured naming Name spaces Name resolution The implementation of a name space Example: The Domain Name System Example: The Network File System Attribute-based naming Directory services Hierarchical implementations: LDAP Decentralized implementations Named-data networking Basics Routing Security in named-data networking Summary Consistency and replication Introduction Reasons for replication Replication as scaling technique Data-centric consistency models Consistent ordering of operations Eventual consistency Continuous consistency Client-centric consistency models Monotonic reads Monotonic writes Read your writes Writes follow reads Example: client-centric consistency in ZooKeeper Replica management Finding the best server location Content replication and placement Content distribution Managing replicated objects Consistency protocols Sequential consistency: Primary-based protocols Sequential consistency: Replicated-write protocols Cache-coherence protocols Implementing continuous consistency Implementing client-centric consistency Example: Caching and replication in the Web Summary Fault tolerance Introduction to fault tolerance Basic concepts Failure models Failure masking by redundancy Process resilience Resilience by process groups Failure masking and replication Consensus in faulty systems with crash failures Example: Paxos Consensus in faulty systems with arbitrary failures Consensus in blockchain systems Some limitations on realizing fault tolerance Failure detection Reliable client-server communication Point-to-point communication RPC semantics in the presence of failures Reliable group communication Introduction Scalability in reliable multicasting Atomic multicast Distributed commit Recovery Introduction Checkpointing Message logging Summary Security Introduction to security Security threats, policies, and mechanisms Design issues Cryptography Basics Symmetric and asymmetric cryptosystems Hash functions Key management Authentication Introduction to authentication Authentication protocols Trust in distributed systems Trust in the face of Byzantine failures Trusting an identity Trusting a system Authorization General issues in access control Attribute-based access control Delegation Decentralized authorization: an example Monitoring Firewalls Intrusion detection: basics Collaborative intrusion detection Summary Index Bibliography Glossary B C D E F G H I L M O P R S T V