资讯专栏INFORMATION COLUMN

混合微服务 vs Django

vboy1010 / 2951人阅读

摘要:混合微服务与其将复杂的测试逻辑部分变得不可测,不如把这些部分放置于系统内部。而我们的实际上所做的便是将各自调用的服务指向各自的。其他我猜,微服务的流行是因为程序员可以欢乐地使用自己的语言,哪怕是。

在设计所谓的"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。

Follow my projects on GitHub

QQ交流群: 321689806

微博: @phodal

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/15109.html

相关文章

  • 混合服务 vs Django

    摘要:混合微服务与其将复杂的测试逻辑部分变得不可测,不如把这些部分放置于系统内部。而我们的实际上所做的便是将各自调用的服务指向各自的。其他我猜,微服务的流行是因为程序员可以欢乐地使用自己的语言,哪怕是。 在设计所谓的Next-Generation CMS,即Echoes CMS的时候,对于我这种懒得自己写Django App的人来说,通过我会去复制别人的代码,于是我继续在Github上漫游。...

    keithxiaoy 评论0 收藏0
  • 混合服务 vs Django

    摘要:混合微服务与其将复杂的测试逻辑部分变得不可测,不如把这些部分放置于系统内部。而我们的实际上所做的便是将各自调用的服务指向各自的。其他我猜,微服务的流行是因为程序员可以欢乐地使用自己的语言,哪怕是。 在设计所谓的Next-Generation CMS,即Echoes CMS的时候,对于我这种懒得自己写Django App的人来说,通过我会去复制别人的代码,于是我继续在Github上漫游。...

    hedzr 评论0 收藏0
  • Tornado vs Django选型分析

    摘要:前言项目中开发的几个服务一直使用作为服务器,本人也曾提出过疑问,为什么是,得到的答案是比较,,,的并发性能最好,而且最为轻量级。的卖点是超高的开发效率,其性能扩展有限的性能表现前两天有写一篇的帖子传送门使用对鉴权接口加压,看的性能表现。 前言 项目中开发的几个服务一直使用tornado作为http服务器,本人也曾提出过疑问,为什么是tornado,得到的答案是比较tornado,fla...

    Arno 评论0 收藏0
  • 《Python web开发》笔记四:Django开发基础

    摘要:内部结构时,页面发生错误会直接抛给前台,便于程序员进行修改。,用户新建了需要在该栏目下进行注册。拓展阅读图解笔记基础教程自强学堂备注该笔记源自网易微专业开发节本文由创作采用知识共享署名中国大陆许可协议进行许可。 Why Django 在一定的时间内,有限的技术情况下,建设一个高质量的网站,Django几乎成了唯一的方案。Django把所有可能性都考虑到了,从这种程度上看复杂就意味着全面...

    paulli3 评论0 收藏0
  • 从零开始搭建论坛(一):Web服务器与Web框架

    摘要:服务器通过协议与客户端通信,因此也被称为服务器。本文标题为从零开始搭建论坛一服务器与框架本文链接为更多阅读自己动手开发网络服务器一自己动手开发网络服务器二自己动手开发网络服务器三服务器网关接口实现原理分析最佳实践指南应用浅谈框架编程简介 之前用 Django 做过一个小的站点,感觉Django太过笨重,于是就准备换一个比较轻量级的 Web 框架来玩玩。Web.py 作者已经挂掉,项目好...

    dantezhao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<