Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スケーラブルシステム / Scalable System

nrs
October 08, 2023

スケーラブルシステム / Scalable System

https://youtu.be/NhDj6Ep9SyA

PHP Conference Japan 2023
システムのスケーラビリティを着眼点としてマイクロサービスについて語ってます。
トーク前提の資料です。そのため、トークがないと理解が難しいかもしれません。

# Abstract
https://fortee.jp/phpcon-2023/proposal/d81f49cf-009c-4953-af24-1582a827edef

# URL
YouTube: https://www.youtube.com/c/narusemi
HomePage: https://nrslib.com
Twitter: https://twitter.com/nrslib

nrs

October 08, 2023
Tweet

More Decks by nrs

Other Decks in Programming

Transcript

  1. class OrderServiceEventListener { function handle(OrderCreated $event) { // do something

    } } class EventServiceProvider extends ServiceProvider { /** * The event to listener mappings for the application. * * @var array<class-string, array<int, class-string>> */ protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], OrderCreated::class => [ OrderServiceEventListener::class, ], ];
  2. class OrderServiceEventListener { function handle(OrderCreated $event) { // do something

    } } class EventServiceProvider extends ServiceProvider { /** * The event to listener mappings for the application. * * @var array<class-string, array<int, class-string>> */ protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], OrderCreated::class => [ OrderServiceEventListener::class, ], ];
  3. class CreateOrder implements OrderCommand { /** @var int */ private

    $itemId; /** @var int */ private $nr; class OrderCreated implements OrderEvent { /** @var int */ private $id; /** @var int */ private $itemId; class OrderAggregate { function handleCreateOrder(CreateOrder $createOrder) { // publish event } }