您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

亲测推荐2021年SaaS技术栈:Docker、Django、Traefik、IntercoolerJS {网站代码}

  • 时间:2022-07-02 01:30 编辑: 来源: 阅读:288
  • 扫一扫,手机访问
摘要:亲测推荐2021年SaaS技术栈:Docker、Django、Traefik、IntercoolerJS {网站代码}
技术栈中各处部署的Linux服务器和虚拟机作为一个整体:我用了Azure、Digital Ocean和Scaleway,计划在2021年将所有部署迁移到Hetzner提供的专用服务器上。 码头工人:码头工人。我们常用的Traefik:使用LetsEncrypt证书和TLS的反向代理。 Postgresql:运行在Docker中的数据库 Django:也在容器中运行。 IntercoolerJS:提供流畅易用的类似Ajax的前台应用支持。 中冷器的创造者在2021年发布了HTMX,这是IntercoolerJS的升级。 哨兵:在生产环境中捕捉软件缺陷 只需在配置文件中添加几行配置即可。 Bitbucket管道代替CI/CD:由于CI/CD引入了太多繁琐无用的工具,2021年我将不再考虑个人项目的CI/CD。 零层:实现VPN和控制层 当我开发小项目时,我使用本地Docker容器来运行测试,然后将它们直接推送到生产环境中。 我没有使用笨重的CI/CD,而是选择了Bitbucket管道。 上图是我使用的技术栈的概述,图中有很多部分需要详细阐述。 以下是列表演示。 虚拟机DockerDjango使用长时间运行的Django命令来装载数据磁盘卷,同时工作人员装载数据磁盘卷Postgres装载数据磁盘卷TraefikZero-TierSSH托管环境。即使没有服务器架构,也需要云服务托管环境。 个人推荐Azure,数字海洋,Scaleway。 每个家庭都提供足够的计算、网络、存储和基本服务选项,并支持客户的任何建筑需求。 还推荐Hetzner,它提供所有服务级别的硬件、服务和价格。 少数虚拟机企业级应用和个人端项目不需要同时为数千客户提供TB级数据服务,因此可扩展性不是主要考虑的问题。 为此,我们可以选择最低管理服务选项,通常每月不超过20美元。 即使是服务价格最贵的Azure,也可以选择有服务质量的可爆发虚拟机。 个人推荐:Scaleway的开发级服务器 注意:我的技术栈中没有Kubernetes,因为我不考虑可伸缩性。 Docker为了保证新的虚拟机运行在最新版本的Docker上,我没有依赖操作系统本身,而是使用了curl|bash的方法,也就是通过运行上面的命令行,我可以得到最适合当前运行环境的最新版本。 特拉菲克实现反向代理特拉菲克对我来说是天赐良机。 虽然Nginx也很强大,但它不是为Docker环境构建的。 Traefik的两个杀手级特性为我节省了很多时间:使用LetsEncrypt实现自动TLS。 总之,一旦定了,就不用管了。 结合适用的API和DNS服务提供商,您也可以使用DNS身份验证。 使用Docker标签自动配置,无需重新加载 一旦发布了新的服务,Traefik会通过监听所有Docker相关的服务来自动发现这些变化。 这使得添加、删除和合并服务非常方便,没有任何麻烦。 我对Traefik的唯一看法是学习曲线略陡。 客户必须自己决定如何配置,包括配置文件、命令行选项、YAML、Docker标签,甚至它们的组合。 提醒:我已经发布了自己的Traefik生产环境配置文件,以供参考。 Postgres数据库亲测推荐,PostgreSQL绝对不会让我失望。 PostgreSQL容器可以毫无问题地添加到任何项目中。 我只是启动容器,绑定端口,将数据卷挂载到主机磁盘上,仅此而已。 Containerized DjangoDjango for Web很好地支持发布到容器中,我已经使用它很多年了。 我反复强调开发环境与生产环境匹配的重要性,Docker为我实现了一切。 我在2021年推出了一个新的Django项目,可以作为新项目的模板。请参见:simple CTO/Django-参考-实现。 用于异步任务的Django命令我使用自己的Django命令作为标准框架来实现异步任务。 在这种模式下,采用while loop with sleep()轮询数据库相关操作并采取相应的动作。 截至2021年,我已经用这种模式运行了一年多的网站截屏项目,回报巨大。 该项目每天对1500个网站进行截图,所有操作均由Django command策划和管理。 项目地址:simple CTO/截图 中间冷却器降低了复杂性。如果是这里说的,需要发布多个帖子。我怕内容太长,会没人想看。 我把JQuery和这个小JavaScript库结合起来,实现了一些类似于单页应用的效果,虽然实际上它并不是一个单页应用。 IntercoolerJS保留了Ajax的传统优势,从后台HTML升级DOM,无缝流畅,客户登录升级小表单等元素非常方便。 推荐访问:IntercoolerJS官网 其创始人在2021年继承发展了IntercoolerJS,推出了HTMX。 哨兵发现生产中的错误。任何应用程序都会出错,但不应该向客户显示。 Sentry提供了一种易于使用且方便的方法来捕获生产中的软件缺陷。其特点包括:开源许可,可以在生产中任意部署。 只要在Django项目的settings.py中添加几行配置,就会生效。 与Git代码库和问题跟踪系统紧密集成,在全生产环境中提供缺陷可追溯性。 另一个优点是可以随时在生产环境中禁用它。 更多信息请访问:哨兵官网 位桶管道将取代CI/CD CI/CD2021。我在个人项目的部署中不使用CI/CD。 工具太多,复杂度高。 我只是使用PyCharm来运行测试,然后将它直接从开发设施交付到生产环境。 目前有很多CI/CD处理方案,但我推荐Bitbucket提供的Pipelines服务。 该服务每月提供数百分钟的免费使用,并能以较小的成本提供自上而下的功能。 我在使用中很少遇到问题,我非常喜欢他们的YAML配置文件。 我使用bitbucket-pipelines.yml文件跨多个Docker容器实现完整的端到端测试,加载数据库,并在几分钟内执行数百次测试。 这项服务是我们团队效率的关键,在生产环境中支持每天五次以上的推送。 更多信息请访问-Bitbucket官网。 ZeroTier实现VPN。最后推荐一个技术,很大程度上是可选的,但最好是有。 Zerotier是一个独特的网络/VPN服务,我用它来连接所有的个人电脑。 可以穿透防火墙连接家庭和办公室,一分钟就能配置好。 如果所有设施都使用ZeroTier,就可以避免SSH中麻烦的密钥管理,带宽可以在单台机器上共享。 Zerotier可以在Linux、Mac、Windows、Android和iPhone上运行,覆盖大部分设施。 ZeroTier的一个问题是我并不完全理解它的工作机制。 类似于MacOS和iPhone,会按照客户的预期工作,没有问题,但是从客户体验的角度来看,有点不舒服。 但是对于一个CTO来说,谁会在意细节呢?希望总结以上深入的细节,激发读者对Docker,Django,Traefik,尤其是IntercoolerJS的兴趣。 它们简单易用,并且可以在适当的时候使用。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)
【技术支持|常见问题】你正确使用https了吗? [php源码](2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部