混合微服務 vs Django
在設計所謂的"Next-Generation CMS",即Echoes CMS的時候,對於我這種懶得自己寫Django App的人來說,通過我會去複製別人的程式碼,於是我繼續在Github上漫遊。接著找到了DjangoProject.com的原始碼,又看了看Mezzanine(ps: 我部落格用的就是這個CMS)。於是從DjangoProject複製了Blog的程式碼,從Mezzanine複製了conf的程式碼,然後就有了Echoes的codebase。然後,繼之前的文章(《微服務的小思考》我想了想, 這不就是我想要的模型麼?
微服務與Django
Django 應用架構
Django MVC結構如下如示:
然後,記住這張圖,忘記上面的MVC,Django實際上是一個MTV
- Model
- Template
- View
主要是Django中的views.py通常是在做Controller的事。
然而對於一個Django的應用來說,他的架構如下所示:
Django的每個App就代表著程式的一個功能。每個App有自己的models、views、urls、templates所以對於一個app來說他的結構如下:
.
|______init__.py
|____models.py
|____tests.py
|____views.py
如果是新版的Django那麼它的結構如下:
.
|______init__.py
|____admin.py
|____migrations
| |______init__.py
|____models.py
|____tests.py
|____views.py
上面少了templates,最後會有一個總的URL,即第一張圖的URL Dispatcher
。接著,讓我們看看微服務是怎樣的。
微服務
一個典型的微服務如下所示:
有不同的技術棧python、spring、scala,但是他們看上去和Django應用的圖差不多,除了資料庫不一樣。
混合微服務
與其將複雜的測試、邏輯部分變得不可測,不如把這些部分放置於系統內部。
當我們在我們的伺服器上部署微服務的時候,也就意味著實現所以的服務都是在我們系統的內部,我們有一個Kernel以及他們的Kernel Moduels,即微服務群們。他們呼叫DB,或者某些第三方服務。
System Libraries相當於我們的URL Dispatcher。而我們的URL Dispatcher實際上所做的便是將各自呼叫的服務指向各自的app。
這樣我們即可以解決部署的問題,又可以減少內部耦合。
其他
我猜,微服務的流行是因為程式設計師可以歡樂地使用自己的語言,哪怕是Logo。
QQ交流群: 321689806
微博: @phodal
相關文章
- *nix程式 vs 微服務微服務
- Java微服務 vs Go微服務,究竟誰更強!?Java微服務Go
- 微服務架構:Dubbo VS Spring Cloud微服務架構SpringCloud
- 微服務訊息代理比較:Redis vs Kafka vs RabbitMQ - Mertcan微服務RedisKafkaMQ
- 模組化與微服務比較 MircoService VS OSGI微服務
- 微服務斷路器模式實現:Istio vs Hystrix微服務模式
- 「萌新指南」SOA vs. 微服務:What’s the Difference?微服務
- Anno 讓微服務、混合程式設計更簡單(Net love Java)微服務程式設計Java
- 微服務03 微服務sentinel, springcloudgateway微服務SpringGCCloudGateway
- Flask VS Django,選擇哪個框架好?FlaskDjango框架
- Django與微服務架構:構建可擴充套件的Web應用Django微服務架構套件Web
- 微服務2:微服務全景架構微服務架構
- 微服務微服務
- 微服務1:微服務及其演進史微服務
- Redis vs Tendis:冷熱混合儲存版架構揭秘Redis架構
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務
- 【微服務目錄】.NET Core 微服務介紹微服務
- 微服務架構(一):什麼是微服務微服務架構
- 微服務部署微服務
- go 微服務Go微服務
- 搭建微服務微服務
- 理解微服務微服務
- 微服務思想微服務
- .NET 微服務微服務
- 微服務指南走北(一):微服務是什麼微服務
- 小白入門微服務(0) - 什麼是微服務微服務
- 微服務17:微服務治理之異常驅逐微服務
- 微服務架構:構建PHP微服務生態微服務架構PHP
- 微服務架構和設計模式 - DZone微服務微服務架構設計模式
- SpringCloud(1) ——回顧微服務和微服務架構SpringGCCloud微服務架構
- SpringCloudAlibaba 微服務講解(二)微服務環境搭建SpringGCCloud微服務
- Django定時任務Django-crontab的使用Django
- Django處理事務:transactionDjango
- 微服務開發攻略之淺析微服務架構微服務架構
- 微服務那麼火,我也該用微服務嗎?微服務
- 構建微服務的三種重要模式 - DZone微服務微服務模式
- 微服務思考(02):微服務實施前有哪些問題?微服務
- dotnet core微服務框架Jimu ~ 會員註冊微服務微服務框架
- dotnet core微服務框架Jimu ~ 會員授權微服務微服務框架