diff --git a/docs/architecture/cloud-native/identity-server.md b/docs/architecture/cloud-native/identity-server.md index df237a8a0111a..5c4c1daec32e4 100644 --- a/docs/architecture/cloud-native/identity-server.md +++ b/docs/architecture/cloud-native/identity-server.md @@ -94,7 +94,7 @@ Many cloud-native applications leverage server-side APIs and rich client single ## References -- [IdentityServer documentation](http://docs.identityserver.io/) +- [IdentityServer documentation](http://docs.identityserver.io/en/latest/) - [Application types](https://docs.microsoft.com/azure/active-directory/develop/app-types) - [JavaScript OIDC client](http://docs.identityserver.io/en/latest/quickstarts/6_javascript_client.html) diff --git a/docs/architecture/microservices/multi-container-microservice-net-applications/subscribe-events.md b/docs/architecture/microservices/multi-container-microservice-net-applications/subscribe-events.md index d2ef2e2602618..0a8ebf68b43d2 100644 --- a/docs/architecture/microservices/multi-container-microservice-net-applications/subscribe-events.md +++ b/docs/architecture/microservices/multi-container-microservice-net-applications/subscribe-events.md @@ -100,7 +100,7 @@ As mentioned earlier in the architecture section, you can have several approache - Using [transaction log mining](https://www.scoop.it/t/sql-server-transaction-log-mining). -- Using the [Outbox pattern](http://gistlabs.com/2014/05/the-outbox/). This is a transactional table to store the integration events (extending the local transaction). +- Using the [Outbox pattern](https://www.kamilgrzybek.com/design/the-outbox-pattern/). This is a transactional table to store the integration events (extending the local transaction). For this scenario, using the full Event Sourcing (ES) pattern is one of the best approaches, if not *the* best. However, in many application scenarios, you might not be able to implement a full ES system. ES means storing only domain events in your transactional database, instead of storing current state data. Storing only domain events can have great benefits, such as having the history of your system available and being able to determine the state of your system at any moment in the past. However, implementing a full ES system requires you to rearchitect most of your system and introduces many other complexities and requirements. For example, you would want to use a database specifically made for event sourcing, such as [Event Store](https://eventstore.org/), or a document-oriented database such as Azure Cosmos DB, MongoDB, Cassandra, CouchDB, or RavenDB. ES is a great approach for this problem, but not the easiest solution unless you are already familiar with event sourcing. @@ -321,7 +321,7 @@ If the “redelivered” flag is set, the receiver must take that into account, - **Event Driven Messaging** \ - [http://soapatterns.org/design\_patterns/event\_driven\_messaging](http://soapatterns.org/design_patterns/event_driven_messaging) + - **Jimmy Bogard. Refactoring Towards Resilience: Evaluating Coupling** \