Fundamentals of Distributed Systems

بواسطة: Pluralsight

Overview

Making a reliable centralized application is hard enough, but distributed systems require some extra consideration. This course will teach you the important concepts and basic patterns of reliable distributed systems.

Distributed systems are hard to build, complicated to run, and difficult to understand. If you need one, then it’s because a centralized application just won't do. In this course, Fundamentals of Distributed Systems, you’ll learn to build and operate complex systems made of loosely connected services. First, you’ll explore the properties of a reliable service. Next, you’ll discover how to connect services together using messages and APIs. Finally, you’ll learn how to apply patterns to tackle hard collaborative problems. When you’re finished with this course, you’ll have the skills and knowledge of distributed systems needed to design and operate software at a global scale.

Taught by

Michael Perry

Fundamentals of Distributed Systems
الذهاب الي الدورة

Fundamentals of Distributed Systems

بواسطة: Pluralsight

  • Pluralsight
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • intermediate
  • N/A
8.1.2PHP Version273msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (169ms)
    • Application (103ms)
    • 1 x Booting (61.99%)
      169.33ms
      1 x Application (37.77%)
      103.16ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed11.95ms
      • select * from `courses` where `slug_ar` = 'fundamentals-of-distributed-systems' limit 1
        10.39ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. fundamentals-of-distributed-systems
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-28 04:29:45' where `id` = 4889
        550μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-28 04:29:45
        • 1. 4889
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (35)
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (57) and `providers`.`deleted_at` is null
        390μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 4880 limit 1
        180μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 4880
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        bmE8pZtZ2qHelzESgp62UGdPTOwKqHT6Xqd7JmaY
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/fundam...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/fundamentals-of-distributed-systems
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "18.224.200.148" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9373d203cbf7f842-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "18.224.200.148" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "18.224.200.148" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9373d203cbf7f842-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "18.224.200.148" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "21804" "REMOTE_ADDR" => "172.70.130.176" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/fundamentals-of-distributed-systems" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1745814585.1823 "REQUEST_TIME" => 1745814585 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Mon, 28 Apr 2025 04:29:45 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjRrYzBtNnA1K1lhc2FOdlFQVUZmZEE9PSIsInZhbHVlIjoiZjFSRFZLSEJ2NHBFTG5rR3RYU1N5OEdwMXQzL1FpR2xudkFQYWlva2N6bEpRUThHNXJXci9oUjhHVWYyUUQwVm9iaVpqWmFwbDJQTUVIWndRR0tsa09tUWJBeVZ3QVJEWitVY2pid3FZcElmT0g2VE85WS9aZHpLaTRhMlY1dWgiLCJtYWMiOiI5MDJiZTgzMzVlZTAyN2E4MjdjZTI4NjI3MDZjN2ExM2I1ZDhkMjAzNjA1M2VmYmYyZWE5NjgxNjE4YTg3NWQ3IiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 06:29:45 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjRrYzBtNnA1K1lhc2FOdlFQVUZmZEE9PSIsInZhbHVlIjoiZjFSRFZLSEJ2NHBFTG5rR3RYU1N5OEdwMXQzL1FpR2xudkFQYWlva2N6bEpRUThHNXJXci9oUjhHVWYyUUQwVm9iaVpqW" 1 => "laravel_session=eyJpdiI6ImpUYnM2ejRsZElOa2QvYVdaSjI4YUE9PSIsInZhbHVlIjoiZE81QXZWMi9uWU05azVwOFEwYS9PbG4vdUVXaUx5MlpHYkc3V2puSmx5VEIwVmJJQUt3KzJrSlR4VE9zVDhOZ0JrSVhtSnpjSG9PRnA2bnhZTlJkTzU1OTE5eTJvTnI0QXpOMjRSTW5EaGVFVGZ2bUdEZzRrdkdxNEFCSnFGVDUiLCJtYWMiOiI2NGYyNmY4NGU2ZTI4YThhNjBhMGIyODNkODRmMzliZTM4MzZhYzk2ZWM3MDJlZjdkMjM1NTRhZThlYjJmNzIyIiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 06:29:45 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImpUYnM2ejRsZElOa2QvYVdaSjI4YUE9PSIsInZhbHVlIjoiZE81QXZWMi9uWU05azVwOFEwYS9PbG4vdUVXaUx5MlpHYkc3V2puSmx5VEIwVmJJQUt3KzJrSlR4VE9zVDhOZ0Jr" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjRrYzBtNnA1K1lhc2FOdlFQVUZmZEE9PSIsInZhbHVlIjoiZjFSRFZLSEJ2NHBFTG5rR3RYU1N5OEdwMXQzL1FpR2xudkFQYWlva2N6bEpRUThHNXJXci9oUjhHVWYyUUQwVm9iaVpqWmFwbDJQTUVIWndRR0tsa09tUWJBeVZ3QVJEWitVY2pid3FZcElmT0g2VE85WS9aZHpLaTRhMlY1dWgiLCJtYWMiOiI5MDJiZTgzMzVlZTAyN2E4MjdjZTI4NjI3MDZjN2ExM2I1ZDhkMjAzNjA1M2VmYmYyZWE5NjgxNjE4YTg3NWQ3IiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 06:29:45 GMT; path=/XSRF-TOKEN=eyJpdiI6IjRrYzBtNnA1K1lhc2FOdlFQVUZmZEE9PSIsInZhbHVlIjoiZjFSRFZLSEJ2NHBFTG5rR3RYU1N5OEdwMXQzL1FpR2xudkFQYWlva2N6bEpRUThHNXJXci9oUjhHVWYyUUQwVm9iaVpqW" 1 => "laravel_session=eyJpdiI6ImpUYnM2ejRsZElOa2QvYVdaSjI4YUE9PSIsInZhbHVlIjoiZE81QXZWMi9uWU05azVwOFEwYS9PbG4vdUVXaUx5MlpHYkc3V2puSmx5VEIwVmJJQUt3KzJrSlR4VE9zVDhOZ0JrSVhtSnpjSG9PRnA2bnhZTlJkTzU1OTE5eTJvTnI0QXpOMjRSTW5EaGVFVGZ2bUdEZzRrdkdxNEFCSnFGVDUiLCJtYWMiOiI2NGYyNmY4NGU2ZTI4YThhNjBhMGIyODNkODRmMzliZTM4MzZhYzk2ZWM3MDJlZjdkMjM1NTRhZThlYjJmNzIyIiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 06:29:45 GMT; path=/; httponlylaravel_session=eyJpdiI6ImpUYnM2ejRsZElOa2QvYVdaSjI4YUE9PSIsInZhbHVlIjoiZE81QXZWMi9uWU05azVwOFEwYS9PbG4vdUVXaUx5MlpHYkc3V2puSmx5VEIwVmJJQUt3KzJrSlR4VE9zVDhOZ0Jr" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "bmE8pZtZ2qHelzESgp62UGdPTOwKqHT6Xqd7JmaY" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/fundamentals-of-distributed-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]