V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
longmeier90
V2EX  ›  Python

有用 Python +django 搞过微服务的吗?都需要了解哪些知识,有没有好的建议。

  •  
  •   longmeier90 · 2021-04-29 10:49:09 +08:00 · 5037 次点击
    这是一个创建于 1335 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司想把一个大的项目,拆分出各个模块出来,自己现在的项目是用 django+mysql 开发的也了解点 docker 、rabbitmq 。对部署微服务整个架构还不是太了解,有没有搞过的大佬给指点指点。 假如按照目前我们的条件适合怎么弄,还需要了解哪些知识。

    18 条回复    2021-05-08 09:08:40 +08:00
    xuanbg
        1
    xuanbg  
       2021-04-29 10:53:42 +08:00
    微服务最关键的组件只有三个:注册中心、配置中心和网关。所以,你只需要把这 3 个东西跑起来,然后你开发的服务能够注册到注册中心,能获取到配置就行了。别的譬如限流、降级、链路追逐什么的都不是必要的,可以有需要的时候再搞,甚至自己搞。
    jackzzh
        2
    jackzzh  
       2021-04-29 11:01:19 +08:00
    zhoudaiyu
        3
    zhoudaiyu  
       2021-04-29 11:32:30 +08:00
    上 k8s,用 k8s 那套
    Seahurt
        4
    Seahurt  
       2021-04-29 12:43:51 +08:00   ❤️ 1
    我们公司之前也是 django 的项目想拆成微服务,但是发现拆成微服务后人手不够,就放弃了。django 单项目一两个人就搞定了,拆成微服务,每个服务都要有人去负责,一个人负责多个项目时你会发现,我本来可以 ORM 直接获取数据的,现在必须得搞个 API 才行,工作量翻了几倍
    lasuar
        5
    lasuar  
       2021-04-29 15:50:26 +08:00
    人手不够别折腾,项目不大别折腾,不懂微服务更别折腾。
    longmeier90
        6
    longmeier90  
    OP
       2021-04-29 17:27:19 +08:00
    @lasuar 我觉的不懂可以先学习学习,等了解透彻了就可以弄了呀。
    longmeier90
        7
    longmeier90  
    OP
       2021-04-29 17:30:43 +08:00
    @Seahurt 系统越单一项目管理越简单,越复杂越容易出问题,对于小团队确实越简单越好,但是我们也不能满足于此,而是要往长远考虑,可以先学习学习
    longmeier90
        8
    longmeier90  
    OP
       2021-04-29 17:31:05 +08:00
    @xuanbg 谢谢大佬
    xuanbg
        9
    xuanbg  
       2021-04-29 18:00:16 +08:00
    @longmeier90 你的理解是正确的,而且微服务本身不增加工作量,反而能有效降低工作量。但前提是得正确拆分服务,顺带着还要懂点运维知识。
    linvaux
        10
    linvaux  
       2021-04-29 22:57:20 +08:00
    微服务 == 招人
    LeeReamond
        11
    LeeReamond  
       2021-04-30 00:00:09 +08:00
    微服务和 django 放在一起是很奇怪的组合,django 定位自己是一套解决方案,而不是一个 http 框架,同样的微服务架构,使用 django 会消耗更多资源,获得更低性能,并浪费 django 的一些设计特性,为什么要这么做呢
    coderxy
        12
    coderxy  
       2021-04-30 18:18:08 +08:00
    微服务关键的几个名词 服务领域拆分,服务注册、发现、治理,微服务网关 再进一步就是熔断,限流,流量染色,分布式事务等等。
    chaleaoch
        13
    chaleaoch  
       2021-05-04 21:31:34 +08:00
    楼主咋样有进展吗?
    longmeier90
        14
    longmeier90  
    OP
       2021-05-06 09:50:35 +08:00
    @chaleaoch 没有了,先了解了解做微服务都需要什么技术储备。现在说的很多东西都还不懂,现阶段主要是了解和学习
    chaleaoch
        15
    chaleaoch  
       2021-05-06 11:17:30 +08:00
    @longmeier90 我俩技术栈差不多, 而且我也对微服务很有兴趣, 一起学习. 多交流.
    longmeier90
        16
    longmeier90  
    OP
       2021-05-06 15:05:40 +08:00
    @chaleaoch 可以,加我微信 longmeier99 以后方便交流
    chaleaoch
        17
    chaleaoch  
       2021-05-07 23:23:46 +08:00
    @xuanbg
    @coderxy
    大佬问一下 istio k8s 这些概念 和运维更紧密一些还是和开发更紧密一些,还是 都很紧密?

    我想自己搭一套架子 是不是必须得精通 k8s?
    xuanbg
        18
    xuanbg  
       2021-05-08 09:08:40 +08:00
    @chaleaoch 自己搭一套架子,不必精通 k8s 。基本的功能能够照着说明文档 /博客用起来就行了。至于 istio 什么的,和 spring cloud 的微服务组件也没啥本质上的区别,也就是相当于一个功能更强大的网关?反正微服务 3 个核心组件:注册中心、配置中心和网关,无论你用哪家的产品都没关系,搞起来就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1174 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.