随笔分类 - 【022】微服务
微服务架构开发与实战
摘要:最近有一个ASP.NET Core使用认证机制访问Kafka的需求,加之我们又使用了CAP这个开源项目使用的Kafka,于是网上寻找了一番发现对应资料太少,于是调查了一番,做了如下的笔记,希望对你有用。
阅读全文
摘要:本文介绍了事务补偿与幂等性的基本概念,并基于CAP组件给了一个事务补偿和幂等性保障的DEMO示例,在实际使用中可能还会借助CAP提供的事务能力将数据持久化和发布消息作为一个事务实现原子性,即CAP与本地事务的集成。
阅读全文
摘要:分布式应用运行时Dapr目前已经发布了1.1.0版本,阿里云也在积极地为Dapr贡献代码和落地实践。作为一名开发者,自然也想玩一玩,看看Dapr带来的新“视”界到底是怎么样的。本文总结了我试玩Dapr的一些经过,包括Dapr的Local环境搭建、.NET 5 Application与Dapr的集成 和 两个具体场景的小DEMO(服务调用 和 Pub/Sub)。
阅读全文
摘要:Dapr(Distributed Application Runtime)是一个开源、可移植、事件驱动的运行时。它使开发人员能够轻松地构建运行在云平台和边缘的弹性而微服务化的应用程序,无论是无状态还是有状态。本文原文来自Dapr Blog,作者阿里云高级技术专家敖小剑。本文是我根据自己的理解翻译了其中的一部分并加了一些参考文献中的内容,所以并非完整翻译。
阅读全文
摘要:去年这个时候,得知Exceptionless 5.0版本发布,我立即将一直部署在Windows Server上的线上Exceptionless迁移到了Linux上。但是,期间发现按照wiki配置好Email却一直无法发送邮件,但由于不影响使用,我也就没有深究(其实还是懒),发布了一篇快速的部署Exceptionless 5.0的博文在博客园上并发出了求助,结果各个园友的帮助回答都没有解决我的问题。
阅读全文
摘要:我的女朋友是一名测试工程师,但她之前却不知道测试金字塔的概念,为此我曾经在家里的白板上画了一个图一层一层给她讲解过。我和同事在给团队面试测试和开发岗位时,也会必问到这个问题,想到可能有很多开发童鞋都不知道,这里我就用一篇推文给大家科普一下。
阅读全文
摘要:前面一篇我们了解了微服务安全认证架构是如何演进而来的,但是发现v2.5架构仍然较重,有没有轻量级一点的方法呢?其实业界早已有了实践,它就是基于JWT的安全认证架构。JWT到底是个什么鬼呢?本篇为你解答!
阅读全文
摘要:之前有同事问为何要用基于JWT令牌的认证架构,然后近期又有童鞋在后台留言问微服务安全认证架构的实践,因此我决定花两篇推文来解答一下。为了答好这个话题,我们先来看看微服务的安全认证架构是如何演进而来的,从而更好地理解。
阅读全文
摘要:之前在学习微软的示例eShopOnContainers时发现它使用的是单体代码仓库库,之后又发现大家在进行微服务项目开发时也都在使用单体代码仓库。问题来了,为啥要微服务项目都要使用单体仓库(所有微服务都在一个代码仓库)呢?
阅读全文
摘要:在《技术中台与业务中台都是啥玩意》一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复。
阅读全文
摘要:最近有童鞋在我之前发布的《聊聊中台》一文中提问:技术中台是什么?和业务中台又有什么区别?考虑到在工作中,也有部分同事问过这个问题,我这里总结一下形成此文进行答复。
阅读全文
摘要:Docker是容器技术的核心和基础,Docker Compose是一个基于Docker的单主机容器编排工具,功能并不像Docker Swarm和Kubernetes是基于Docker的跨主机的容器管理平台那么丰富。但是对于大多数小团队来说,在开发测试环境(通常是单个服务器主机)并不需要K8s这种完善的编排平台,这时可以转而使用Compose这种轻量级编排工具。使用Docker Compose,我们可以将多容器的定义和部署方式定义在一个yml文件中,这种方式特别是微服务这种架构风格,通过一键部署、启动或销毁整个微服务应用。
阅读全文
摘要:《.NET微服务:容器化应用架构指南》介绍了如何使用容器开发基于微服务的应用程序并对其进行管理,探讨使用 .NET Core 和 Docker 容器的体系结构设计和实现方法,是一本值得.NET Core开发人员研读的书。本文为我的学习笔记,这是第一部分。
阅读全文
摘要:在之前我有专门写两篇文章介绍过Exceptionless这款开源日志项目的使用和部署,但是当时是基于4.1.0版本(2017年的release),时隔两年多Exceptionless也推出了5.0.0版本,这个版本最大的变化就是基于ASP.NET Core重写并支持跨平台,也就是说当初我们设想的要是能够基于Docker部署就更好了的愿望已经实现了,在此真心感谢Exceptionless项目的各位贡献者。本文就Exceptionless 5.0.0版本介绍一下快速地部署开发环境和生产环境,相信对有兴趣的朋友会有一点帮助。
阅读全文
摘要:本文介绍了我目前团队所在使用的持续集成全流程及一些重要插件的使用,虽然还很不完善,但初步解决了我所在团队在集成和发布上的一些痛点。随着后续对K8S的学习的深入,我会逐步引入K8S进行微服务的容器编排以及持续集成的K8S化改造,希望到时再进行分享。
阅读全文
摘要:本文简单的介绍了一下在Docker for Windows环境下,通过kubectl部署一个ASP.NET Core WebAPI到K8S中,并初步使用了K8S的伸缩特性对Deployment进行实例的伸缩,体验了一下所谓的容器的编排。当然,笔者也是初玩,有很多还没学习,这也只是K8S的冰山一角,后续我会学习在Linux下部署K8S的生产级集群环境,深入学习K8S的各种概念并实践,最后会学习阿里云ACK服务(容器服务Kubernetes版)或腾讯云TKE服务(基于Kubernetes的容器服务)去部署和实践公司的生产环境,相信到时也会有很多的分享的!
阅读全文
摘要:在去年的.NET Core微服务系列文章中,初步学习了一下Consul服务发现,总结了两篇文章。本次基于Docker部署的方式,来搭建一个Consul的示例集群,演示了一个示例,最后给出了一个建议的高可用架构,这样也会更加贴近于实际应用环境。
阅读全文
摘要:最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下。Jenkins 是一款流行的开源持续集成(CI)与持续部署(CD)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。流水线Pipeline是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
阅读全文
摘要:Exceptionless 是一个开源的实时的日志收集框架,它将日志收集变得简单易用并且不需要了解太多的相关技术细节及配置。本篇基于我的上一篇《基于Exceptionless实现分布式日志》,最近在公司内部搭建日志平台,且部署到了基于阿里云的生产环境,因此做个记录,也希望能帮助到希望基于Exceptionless来做日志平台的朋友们。
阅读全文
摘要:2018年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识。虽然只做了两个月的开发工作,但是对微服务架构的兴趣却没有结束,又因为自己的.NET背景,想要探索一下在.NET平台下的微服务架构的可行性,也准备一些材料作为分享的素材。
阅读全文