狠狠撸

狠狠撸Share a Scribd company logo
探索 .NET 新世界
.NET Conf
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
丑迟迟辫蝉://谤耻诲诲测产濒辞驳.飞辞谤诲辫谤别蝉蝉.肠辞尘/2017/10/27/看见全貌/
https://medium.com/how-gipi-learn/1111-system-reliability-559364b5591d
http://martinfowler.com/bliki/images/microservice-verdict/productivity.png
進行重構的最佳時機
關鍵: 如何加速團隊順利的轉移?
整合
取代
系統設計規範
挑戰 #3
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
核心架構設計
決定: 維運方式 決定: 開發方式
系統運作規範
服務部署 /
維運管理
開發框架 /
服務開發
既有系統 (階段性轉移)
https://www.12factor.net
https://kknews.cc/zh-tw/tech/22k6ke.html
artifact manager
service catalog
service discovery
config management
artifact manager
service discovery
service registry service discovery
configuration management
service discovery
integration
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
丑迟迟辫蝉://锄丑.飞颈办颈辫别诲颈补.辞谤驳/飞颈办颈/依赖反转原则
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
RabbitMQ Implementations NATS Implementations NATS Streaming Implementations
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
https://github.com/91app
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
(Singleton, 來自 Host, 識別實體環境)
(Scoped, 來自 Request, 識別個人化 & 多租戶的環境)
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
Host Info
(InfraContext)
Runtime Info
(TrackContext)
Config Data
(IConfigManager)
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
Host Info
(InfraContext)
Runti
(Track
HostBuilder.UseNineYiInfra();
把自己也注入正確的 scope
Host 本身應該適時的切換對應的 Scope。
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-3.0#webroot
InfraContext
(你在哪個環境上?)
TrackContext
(你是誰?)
Config Source
(整個環境的設定值)
開發商業邏輯時,可以直接取用上述的資訊。
環境(市場)、識別資訊(客戶、使用者)、個人化的組態設定,都已經被
DI 與 SDK 做好抽象化的隔離了。
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
為91APP量身訂做: 階層式 configuration
Global Region Market Shop
Global Settings
Schema
Comments
Regional Default
(Global)
ap-northeast-1
ap-southeast-1
TW
xxx (market02)
HK (market03)
9527
9528
組態 (configuration) 的原始檔目錄結構,以方便管理為設計目標,團隊分工優化為
第一優先。目錄階層直接對應 Global / Region / Market / Shop 四層繼承階層。
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-3.0
Middleware in ASP .NET Core
https://wakeupandcode.com/middleware-in-asp-net-core/
透過 Middleware, 從
HTTP headers 將正確的
TrackContext 注入 scope.
架構規範:
authorization: bearer xxxxxxxxxxxxx
x-request-id: xxxxxxxxxx
透過 Middleware, 從
TrackContext 建立正確的
CultureInfo
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
需要專屬 Load Balancer,
也需要人工維護內部 DNS records
所有程序都整併在 Service 啟動
時期自動完成。維運負擔降到最低
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
VIP
VIP
NORMAL
VIP
NORMAL
NORMAL
NORMAL
QA-TEST
NORMAL
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
ENV:
CONFIG_SOURCE = …
MARKET = …
…
Tags:
- CONFIG_SOURCE
- MARKET
- ENVIRONMENT: PROD | STAGING
- USAGE_HINTS
- PUBLIC_KEY
由 infra team 負責指派
(透過 Azure / AWS VM 提供的 metadata service)
由 provision script 轉移至 OS 的環境變數
APPLICATION (CODE)
Core SDK
SERVICE
BFF
Service
Registry
按照規範開發的服務,可以大幅降低維運的成本,提升維運的效率。
大部分的維運作業,只需要透過開關機就該(能)完成。
Design For Operation, 是開發團隊降低 (自己) 維運負擔的最佳手段。
CI
(AM / CM)
Core SDK
Core SDK
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
Service A Service B
InfraContext
TrackContext
HttpClient*
架構規範:
authorization: bearer xxxxxxxxxxxxxxx
x-request-id: ………..………..
InfraContext
<Middleware>
TrackContext
架構規範:
authorization: bearer xxxxxxxxxxxxxxx
x-request-id: ………..………..
Service A Service B
InfraContext
TrackContext
MessageClient*
InfraContext
MessageWorker
TrackContext
架構規範:
authorization: bearer xxxxxxxxxxxxxxx
x-request-id: ………..………..
架構規範:
authorization: bearer xxxxxxxxxxxxxxx
x-request-id: ………..………..
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
https://docs.microsoft.com/zh-tw/dotnet/standard/net-standard
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
特别感谢

More Related Content

What's hot (20)

API Token 入門
API Token 入門API Token 入門
API Token 入門
Andrew Wu
?
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
Amazon Web Services Japan
?
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
Andrew Wu
?
91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅
Rick Hwang
?
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
Rick Hwang
?
Multibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?ことMultibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?こと
Recruit Lifestyle Co., Ltd.
?
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
?
91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅
Amazon Web Services
?
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチレガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
増田 亨
?
微服务对滨罢人员的衝击
微服务对滨罢人员的衝击微服务对滨罢人员的衝击
微服务对滨罢人员的衝击
Philip Zheng
?
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
Recruit Lifestyle Co., Ltd.
?
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
?
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue
Andrew Wu
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
?
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
Edward Kuo
?
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Amazon Web Services
?
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
Rakuten Group, Inc.
?
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
Shuji Kikuchi
?
API Token 入門
API Token 入門API Token 入門
API Token 入門
Andrew Wu
?
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
Amazon Web Services Japan
?
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
Andrew Wu
?
91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅
Rick Hwang
?
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
Rick Hwang
?
Multibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?ことMultibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?こと
Recruit Lifestyle Co., Ltd.
?
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
?
91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅
Amazon Web Services
?
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチレガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
レガシーコードの复雑さに立ち向かう~ドメイン駆动设计のアプローチ
増田 亨
?
微服务对滨罢人员的衝击
微服务对滨罢人员的衝击微服务对滨罢人员的衝击
微服务对滨罢人员的衝击
Philip Zheng
?
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
Recruit Lifestyle Co., Ltd.
?
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
?
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue
Andrew Wu
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
?
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
Edward Kuo
?
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
Shuji Kikuchi
?

Similar to 大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計 (20)

OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
leneli
?
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
Mocha Bsm
Mocha BsmMocha Bsm
Mocha Bsm
王 莆中
?
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
hizhubo
?
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
drewz lin
?
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2
Yiwei Ma
?
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
vanadies10
?
ASP.Net MVC2 介绍
ASP.Net MVC2 介绍ASP.Net MVC2 介绍
ASP.Net MVC2 介绍
Allen Lsy
?
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
Michael Chen
?
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
guiyingshenxia
?
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
colderboy17
?
Teched 2013 监和控
Teched 2013  监和控Teched 2013  监和控
Teched 2013 监和控
Cheng Zhang
?
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
Sonny Chen
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
Cncf k8s Ingress Example-03
Cncf k8s Ingress Example-03Cncf k8s Ingress Example-03
Cncf k8s Ingress Example-03
Erhwen Kuo
?
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
Zhaoyang Wang
?
Java@taobao
Java@taobaoJava@taobao
Java@taobao
vanadies10
?
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
?
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
cleverpig
?
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
leneli
?
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
hizhubo
?
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
drewz lin
?
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2
Yiwei Ma
?
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
淘宝网架构变迁和挑战(翱谤补肠濒别架构师日)
vanadies10
?
ASP.Net MVC2 介绍
ASP.Net MVC2 介绍ASP.Net MVC2 介绍
ASP.Net MVC2 介绍
Allen Lsy
?
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
guiyingshenxia
?
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
colderboy17
?
Teched 2013 监和控
Teched 2013  监和控Teched 2013  监和控
Teched 2013 监和控
Cheng Zhang
?
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
Sonny Chen
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
Cncf k8s Ingress Example-03
Cncf k8s Ingress Example-03Cncf k8s Ingress Example-03
Cncf k8s Ingress Example-03
Erhwen Kuo
?
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
Zhaoyang Wang
?
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
?
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
Open party(2010 05-15)-蒋鑫-开源软件定制开发中的软件工程
cleverpig
?

大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計

Editor's Notes

  • #6: https://www.hbrtaiwan.com/article_content_AR0006633.html?utm_source=facebook&utm_medium=social&utm_campaign=201802fb
  • #10: 系統運作規範: 系統如何部署? 系統如何互相溝通? 系統如何監控與追蹤? 系統如何維運? (改變組態、改變規模) 如何設計,就決定如何維運與開發。DevOps 是一體化的,你想要怎麼維運,在設計時就要思考。 Design (developer) for operation Operation support developer
  • #11: Build Once, Binary To AM, Deploy from AM ( x N ) EX: Docker-Compose.YML Store config in “ENVIRONMENT” -- CI / CD / CD -- Dynamic IP / PORT with Service Discovery, Use RP / APIGW to publish -- Self Management, Just Start / Stop VM or Containers Infra As Code -- --
  • #27: Currently: Node.JS + Containers (via docker registry) Future: .NET tools (via NuGet)
  • #32: What's a host? A?host?is an object that encapsulates an app's resources, such as: Dependency injection (DI) Logging Configuration IHostedService?implementations When a host starts, it calls?IHostedService.StartAsync?on each implementation of?IHostedService?that it finds in the DI container. In a web app, one of the?IHostedService?implementations is a web service that starts an?HTTP server implementation. The main reason for including all of the app's interdependent resources in one object is lifetime management: control over app startup and graceful shutdown. In versions of ASP.NET Core earlier than 3.0, the?Web Host?is used for HTTP workloads. The Web Host is no longer recommended for web apps and remains available only for backward compatibility.
  • #35: 修改設定十,目錄結構以團隊分工優化為第一優先。因此目錄階層為 /{module}/{region} 為主
  • #44: Client Side Disco