Fundamentals of Distributed Systems

Brought by: 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
Go to course

Fundamentals of Distributed Systems

Brought by: Pluralsight

  • Pluralsight
  • Paid
  • English
  • Certificate Available
  • Available at any time
  • intermediate
  • N/A
8.1.2PHP Version337msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (204ms)
    • Application (132ms)
    • 1 x Booting (60.53%)
      203.86ms
      1 x Application (39.22%)
      132.07ms
      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 en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed15.29ms
      • select * from `courses` where `slug_en` = 'fundamentals-of-distributed-systems' limit 1
        13.7ms/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-05-21 21:58:52' where `id` = 4889
        840μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-21 21:58:52
        • 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)
        210μ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)
        140μ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
        210μ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
        190μ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
        99tHeHJkvrpFTh2ejAOUn5CDueX1qdo6xGvpyVTJ
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/fundamentals-of-distributed-systems" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/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 => "3.145.36.46" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.145.36.46" ] "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 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "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 => "9437566bee2cf165-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" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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" => "3.145.36.46" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.145.36.46" "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" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9437566bee2cf165-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => "21076" "REMOTE_ADDR" => "172.70.131.62" "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" => "/en/courses/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" => 1747864731.7638 "REQUEST_TIME" => 1747864731 ]
        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 => "Wed, 21 May 2025 21:58:52 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IndBL0FJV3hDM0ZibDhCcDBWYlRJYlE9PSIsInZhbHVlIjoiazhUbldaVWNtbm9VQVI5bDJJYTNSUm4wT3hQVEZqTGNuM0owb0hnNEsweEtCQ2lXS3QvYm9aY2VBTkNxUFY3NW5HMDBROXdjd3poeGViSUlHelg5azh5Z1RHNzQ2WFByRlg3aTZQbkRSVFl1WWxBTnI0V2IwdXlvdSt2SVhzdFQiLCJtYWMiOiI2OGIyNjVmZTYwZGYwMWYyMGM3N2I4ZDNkZDkxZDI5MDAxOWIxMmE5ZTU2MDMxMmFkZGVkNjY1NzNjZGVmNDQ1IiwidGFnIjoiIn0%3D; expires=Wed, 21 May 2025 23:58:52 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IndBL0FJV3hDM0ZibDhCcDBWYlRJYlE9PSIsInZhbHVlIjoiazhUbldaVWNtbm9VQVI5bDJJYTNSUm4wT3hQVEZqTGNuM0owb0hnNEsweEtCQ2lXS3QvYm9aY2VBTkNxUFY3NW5HMDBRO" 1 => "laravel_session=eyJpdiI6IlMxRy9IOVlFSi9aTmtKUEZaYTNwMGc9PSIsInZhbHVlIjoiQUJEYlVtUCtFY3hEemtJQzNFM0Y1SHdvTjhDb1FTaHh1cit4b0ppQnN3Mlptd3RyWC82dEFQTzdwZVowdDVIUVNKc3JGR3Q1eG55S3E1ekg4QURPYlRla1NPd2Z6MGlOTGNQOVg2ek83aFpScnVoUjIzSldvNXFvQ3hYaGQwZkEiLCJtYWMiOiJmZmVmZDRiM2E4NzE2ZGRlOWJmZGNkNzQ1OTZlMzRhMmIxYjJmOTZiYmVmZGM4YjE1YmVjNDM4NGEzNmE5OTZmIiwidGFnIjoiIn0%3D; expires=Wed, 21 May 2025 23:58:52 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlMxRy9IOVlFSi9aTmtKUEZaYTNwMGc9PSIsInZhbHVlIjoiQUJEYlVtUCtFY3hEemtJQzNFM0Y1SHdvTjhDb1FTaHh1cit4b0ppQnN3Mlptd3RyWC82dEFQTzdwZVowdDVIUVNK" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IndBL0FJV3hDM0ZibDhCcDBWYlRJYlE9PSIsInZhbHVlIjoiazhUbldaVWNtbm9VQVI5bDJJYTNSUm4wT3hQVEZqTGNuM0owb0hnNEsweEtCQ2lXS3QvYm9aY2VBTkNxUFY3NW5HMDBROXdjd3poeGViSUlHelg5azh5Z1RHNzQ2WFByRlg3aTZQbkRSVFl1WWxBTnI0V2IwdXlvdSt2SVhzdFQiLCJtYWMiOiI2OGIyNjVmZTYwZGYwMWYyMGM3N2I4ZDNkZDkxZDI5MDAxOWIxMmE5ZTU2MDMxMmFkZGVkNjY1NzNjZGVmNDQ1IiwidGFnIjoiIn0%3D; expires=Wed, 21-May-2025 23:58:52 GMT; path=/XSRF-TOKEN=eyJpdiI6IndBL0FJV3hDM0ZibDhCcDBWYlRJYlE9PSIsInZhbHVlIjoiazhUbldaVWNtbm9VQVI5bDJJYTNSUm4wT3hQVEZqTGNuM0owb0hnNEsweEtCQ2lXS3QvYm9aY2VBTkNxUFY3NW5HMDBRO" 1 => "laravel_session=eyJpdiI6IlMxRy9IOVlFSi9aTmtKUEZaYTNwMGc9PSIsInZhbHVlIjoiQUJEYlVtUCtFY3hEemtJQzNFM0Y1SHdvTjhDb1FTaHh1cit4b0ppQnN3Mlptd3RyWC82dEFQTzdwZVowdDVIUVNKc3JGR3Q1eG55S3E1ekg4QURPYlRla1NPd2Z6MGlOTGNQOVg2ek83aFpScnVoUjIzSldvNXFvQ3hYaGQwZkEiLCJtYWMiOiJmZmVmZDRiM2E4NzE2ZGRlOWJmZGNkNzQ1OTZlMzRhMmIxYjJmOTZiYmVmZGM4YjE1YmVjNDM4NGEzNmE5OTZmIiwidGFnIjoiIn0%3D; expires=Wed, 21-May-2025 23:58:52 GMT; path=/; httponlylaravel_session=eyJpdiI6IlMxRy9IOVlFSi9aTmtKUEZaYTNwMGc9PSIsInZhbHVlIjoiQUJEYlVtUCtFY3hEemtJQzNFM0Y1SHdvTjhDb1FTaHh1cit4b0ppQnN3Mlptd3RyWC82dEFQTzdwZVowdDVIUVNK" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "99tHeHJkvrpFTh2ejAOUn5CDueX1qdo6xGvpyVTJ" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/fundamentals-of-distributed-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]