問題文
Two subsidiaries of the same group have the identical requirement: when a contract is signed, three back-office systems must each be updated with a differently shaped message. One subsidiary already runs an integration layer that can subscribe to streams and hold messages; the other has nothing between its systems. What should the architect tell them?
選択肢
- Neither subsidiary should use events, because three endpoints is too few to justify a stream.
- The two subsidiaries should use exactly the same design, because the requirement is the same and the presence of an integration layer is an implementation detail, and any difference in tooling is absorbed inside each subsidiary's own build.
- The subsidiary without an integration layer should build the fan-out, the message reshaping and the retry logic inside Salesforce, because that keeps the two designs equivalent from the business point of view and avoids asking the group to fund a new platform for one of the two.
- With the integration layer, Salesforce can publish one event and let that layer fan out, reshape and retry; without it, those duties fall on Salesforce and each endpoint, so the design has to stay simpler.