点击蓝字

关注我们

在我们最近让我们一起学习 .NET的微服务专场活动中,我们收到了一些很好的问题。我们在现场已经回答很多问题,但我们想继续回答一些在会议中出现的最热门的问题。如果你错过了现场直播,不要担心,因为你可以按需观看。

我们一起学习 .NET:https://letslearndotnet.splashthat.com/

当我们扩展这些服务时,我们如何扩展与这些服务相关的数据库?

有一些定义良好的模式和最佳实践可以提高性能和扩展数据库。想要了解如何将数据划分为分区,以提高可伸缩性、减少和优化性能, 请参阅水平、垂直和功能性数据分区。想要深入研究微服务的伸缩性,分布式数据,为什么每个微服务都有数据库,在关系数据库和NoSQL数据库之间进行选择,请参考我们关于为Azure构建云原生.net应用程序的指导或下载免费的电子书。

水平、垂直和功能性数据分区:https://docs.microsoft.com/en-us/azure/architecture/best-practices/data-partitioning

为Azure构建云原生.net应用程序:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/distributed-data

免费的电子书:https://dotnet.microsoft.com/learn/azure/architecture#ebook-cloud-native-azure-swimlane

我们是否需要为每个微服务使用一个新的数据库,或者微服务可以共享相同的数据库实例?

团队使用微服务的自主性是构建云原生应用的一个重要好处。为了能够使团队能够灵活地在生产中推出更新、安全补丁和bug修复,而不会破坏其他微服务, 最好使用独立的数据库实例。原生云应用架构的灵感来自于著名的12要素应用程序方法论。其中一个因素“支持服务”指出,数据存储、缓存、消息代理等辅助资源应该通过一个可寻址URL公开。云提供商提供了各种各样丰富的托管支持服务。我们建议检查云中可用的数据库选项,而不是自己拥有和维护数据库。

12要素应用程序方法论:https://12factor.net/

可用的数据库选项:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/relational-vs-nosql-data

单个Web API能与微服务通信吗?

是的。如果微服务的端点在基础设施中是可到达的,或者使用公共端点安全地访问,那么单片应用程序可以与微服务进行通信。微服务及其数据可以通过其端点进行同步消费,或也可以通过消息传递(如事件总线)进行异步消费。作为现代化技术的一部分,我们推荐有助于渐进地迁移旧系统的扼杀模式。作为解决方案的一部分,您需要创建一个阻止请求的façade。façade将这些请求路由到旧应用程序或新服务。想要了解更多关于微服务通信和现代化技术的信息,请参阅.net体系结构指南。

扼杀模式:https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler-fig

.net体系结构指南:https://dotnet.microsoft.com/learn/aspnet/microservices-architecture

如果微服务是松散耦合和独立部署的,它们如何相互通信?如何在微服务之间同步数据?

这是个很好的问题。在《为Azure构建云原生.net应用程序》一书的两个章节中详细解释了这个问题。这些链接会对你有所帮助:

  • 原生云通信模式或下载免费电子书。

  • 在分布式应用中管理数据。

  • 你也可以下载关于微服务架构指南的免费电子书,其中涵盖了一些模式,如DDD、CQRS、事件源等。

《为Azure构建云原生.net应用程序》:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/

原生云通信模式:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/communication-patterns

在分布式应用中管理数据:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/distributed-data

微服务需要使用容器吗?

没有必要的。然而,使用容器也有它的好处。微服务,通常称为微服务体系结构,是设计指导和最佳实践。它帮助您将应用程序分解为由特定业务边界定义的多个较小的服务,这些服务由较小的团队独立管理。容器将应用程序及其配置和依赖项组合成一个单独的、独立的可部署单元。容器非常适合绑定和部署独立的微服务。您可以通过编写第一个微服务端点并将其容器化来了解其好处。

编写第一个微服务端点:https://dotnet.microsoft.com/learn/aspnet/microservice-tutorial/intro

更多的microservices资源

您是否正在寻找更多用于.net开发的微服务和本地云资源?请持续关注微软的blog和官方文档。有任何问题,欢迎来Microsoft Q&A 论坛提问:https://docs.microsoft.com/en-us/answers/products/dotnet。

blog:https://devblogs.microsoft.com/

关于.NET微服务最热门的问题解答相关推荐

  1. 微服务——最热门的架构

    微服务--最热门的架构 在大型互联网应用中,如何更为合理的划分系统和团队边界.如果更加有效的组织系统开发过程.如何通过技术手段识别和消除开发过程中的浪费成为广大软件开发和技术管理人员所需要思考的命题. ...

  2. 云原生语境下,如何重新解读微服务?

    最近,O'Reilly 公布了一份关于企业微服务市场现状的数据调研.报告显示,在访问了全球 1,502 名软件工程师.系统和技术架构师.工程师以及决策者后,有 77% 的组织反馈采用了微服务,其中 9 ...

  3. springcloud架构特点_打造企业级微服务平台架构,分布式应用场景管理

    微服务平台架构是一项在云中部署应用和服务的新技术.大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务. 微服务系统可以在"自己的程序"中运行,并通过"轻量 ...

  4. 介绍6款热门的SpringCloud微服务开源项目,总有适合你的!

    今天介绍六款比较热门的SpringCloud微服务项目,感兴趣的可以clone下来研究一下,相信对你学习微服务架构很有帮助. 一.Cloud-Platform 介绍 Cloud-Platform是国内 ...

  5. 微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育”七、redis数据库缓存页面数据、使用NUXT框架搭建前台系统环境、前台系统页面、首页轮播图(banner数据显示)、首页热门课程,名师推荐

    文章目录 一.NUXT前台环境搭建 1.如何学习NUXT 2.下载安装使用NUXT入门模板starter-template 3.机制 二.编写静态页面 1.设置布局(首尾固定,中间用nuxt引用组件) ...

  6. 最热门的10个Java微服务框架

    1.Spring Boot Java构建Spring应用程序已经有很长一段时间了,Spring Boot是Spring的一个特定版本,它通过对配置细节的处理,使微服务构建更加简便.创建Spring B ...

  7. 最热门的13个Java微服务框架

    本文,我们将和大家分享13个可靠的Java微服务架构 1.Spring Boot Java构建Spring应用程序已经有很长一段时间了,Spring Boot是Spring的一个特定版本,它通过对配置 ...

  8. 微信点餐系统java教程_构建微服务微信点餐系统教程

    凡是认购学员提供全部的问题解答,有问题请大家私信提出问题. 微服务是目前行业的热门技术架构,随着移动互联网愈演愈烈,微信支付和外卖成为人们的**,为了让广大技术爱好者学习微服务架构和业务结合,从而研发 ...

  9. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

最新文章

  1. NCBI-SRA数据下载
  2. boost::math模块使用拉普拉斯(与正态比较)分布的示例的测试程序
  3. boost库shared_ptr实现桥接模式
  4. [学习笔记]后缀自动机
  5. 【Python】Python中对目录路径的要求
  6. vue3 创建路由「vue-router 4.x 的使用」
  7. mysql 数据库之表操作
  8. 华为云NP考试题库_阿里云ACP大数据及云计算经验感悟
  9. Oracle定时调用存储过程
  10. UCOS内核结构学习笔记
  11. 网页的美容师-CSS
  12. rapidxml解析xml文档
  13. 单片机实验报告太原理工大学_太原理工大学单片机实验报告
  14. linux git difftool,git difftool 详解
  15. @Qualifier的作用和应用
  16. 机器学习项目实践——K-means聚类实现广告分析
  17. 使用Feurio刻录音乐CD 无损音乐FLAC
  18. 【CF1467C】Three Bags 题解
  19. Android发带附件和图片的邮件
  20. 数据库考试内容(MYSQL)

热门文章

  1. 深入浅出自定义标签(二)生成javascript
  2. 设计模式学习总结1 - 创建型1 - Abstract Factory抽象工厂模式
  3. Django 使用 mysql 数据库连接
  4. CentOS 6.5 部署WordPress
  5. 20165310_获奖感想与Java阶段性学习总结
  6. SAP ECC EHP7 RFC 发布成WebService
  7. 闭包 —JavaScript面向对象高级
  8. 关于C#中实现两个应用程序消息通讯的问题
  9. Asp.net 2.0 发送电子邮件
  10. ios 拍照 实现 连拍_如何在iOS设备上使用连拍模式拍照