{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/orleans/issues/3737","repository_url":"https://api.github.com/repos/dotnet/orleans","labels_url":"https://api.github.com/repos/dotnet/orleans/issues/3737/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/orleans/issues/3737/comments","events_url":"https://api.github.com/repos/dotnet/orleans/issues/3737/events","html_url":"https://github.com/dotnet/orleans/issues/3737","id":278647636,"number":3737,"title":"Provider model refactor","user":{"login":"jason-bragg","id":10675494,"avatar_url":"https://avatars2.githubusercontent.com/u/10675494?v=4","gravatar_id":"","url":"https://api.github.com/users/jason-bragg","html_url":"https://github.com/jason-bragg","followers_url":"https://api.github.com/users/jason-bragg/followers","following_url":"https://api.github.com/users/jason-bragg/following{/other_user}","gists_url":"https://api.github.com/users/jason-bragg/gists{/gist_id}","starred_url":"https://api.github.com/users/jason-bragg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jason-bragg/subscriptions","organizations_url":"https://api.github.com/users/jason-bragg/orgs","repos_url":"https://api.github.com/users/jason-bragg/repos","events_url":"https://api.github.com/users/jason-bragg/events{/privacy}","received_events_url":"https://api.github.com/users/jason-bragg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-12-02T02:38:11Z","updated_at":"2017-12-02T02:40:03Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"In an effort to clean up our provider model to support more advanced scenarios required by features like streaming, we'll be making changes to our provider model in the following areas.\r\n\r\n_Areas of focus:_\r\n_**Lifecycle**_ - In general, the silo lifecycle should be sufficient to address any provider startup/shutdown needs, even for features like streaming.  \r\n_**Naming**_ – Many providers, such as storage and streams, are named and may have multiple instances.  For this we plan to use named services and named options.  This will require some prototyping.\r\n_**Dynamic providers**_ – Stream providers are currently the only providers that support dynamically adding/removing and stopping/starting outside the initial silo lifecycle.  For providers of this nature we’ll need to either generalize the logic used for this for stream providers or work out how to do this safely.\r\n\r\nLegacy support is planned for third party providers.\r\n\r\nTo vet the approach in phases we're starting with the simplest provider model, bootstrap providers.  The main goal of the bootstrap provider change is to vet that the silo lifecycle is sufficient for such purposes.\r\n\r\nNext we'll be looking at storage providers to work out the use of names services and named options (in conjunction with the lifecycle, vetted in the bootstrap refactor) to support extensions to Orleans core actor model."},"comment":{"url":"https://api.github.com/repos/dotnet/orleans/issues/comments/348662014","html_url":"https://github.com/dotnet/orleans/issues/3737#issuecomment-348662014","issue_url":"https://api.github.com/repos/dotnet/orleans/issues/3737","id":348662014,"user":{"login":"jason-bragg","id":10675494,"avatar_url":"https://avatars2.githubusercontent.com/u/10675494?v=4","gravatar_id":"","url":"https://api.github.com/users/jason-bragg","html_url":"https://github.com/jason-bragg","followers_url":"https://api.github.com/users/jason-bragg/followers","following_url":"https://api.github.com/users/jason-bragg/following{/other_user}","gists_url":"https://api.github.com/users/jason-bragg/gists{/gist_id}","starred_url":"https://api.github.com/users/jason-bragg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jason-bragg/subscriptions","organizations_url":"https://api.github.com/users/jason-bragg/orgs","repos_url":"https://api.github.com/users/jason-bragg/repos","events_url":"https://api.github.com/users/jason-bragg/events{/privacy}","received_events_url":"https://api.github.com/users/jason-bragg/received_events","type":"User","site_admin":false},"created_at":"2017-12-02T02:40:03Z","updated_at":"2017-12-02T02:40:03Z","author_association":"CONTRIBUTOR","body":"Boostrap refactor can be found in \"Added support for legacy bootstrap providers. #3738\""}}
{"actor":{"display_login":"jason-bragg"}}