译者序

微服务设计方法清晰定义了各个开发团队的业务边界,微服务框架以不同方式实现了服务之间的协作与集成。

.NET Core 作为全新的 .NET 技术,它不仅完全开源、跨平台,更面向云原生开发进行了大量细致的优化。它完全模块化,不依赖特定操作系统,其文件系统、网络和配置等基础功能模块对跨平台,命令行等现代化轻量级开发所要求的特性提供了卓越的支持。

本书首先介绍 .NET Core 开发环境的安装,接着详细介绍持续交付、API 优先和测试驱动等重要开发方法和思想。

推荐序

本书较完整地介绍使用 ASP.NET Core 进行微服务开发时的思路、步骤和工具,书中用大量篇幅讲述关于开发功能强大且具有高可伸缩性和韧性的微服务思想,关注使用 ASP .NET Core 实现云原生模式。

本书 GitHub 库(https://github.com/microservices-aspnetcore

第 1 章 ASP .NET Core 基础

核心概念

CoreCLR: 一个轻量级、跨平台运行时,提供与 CLR 相同功能,包括垃圾回收、JIT 编译、异常处理等等。

CoreFX: 一系列模块化程序集,以 NuGet 包方式提供,并且完全开源,可通过 GitHub 获取。

.NET Platform Standard: 以一种可控的架构支持 .NET Core 二进制可移植性的跨平台目标。

ASP .NET Core: 一系列小的模块化组件,可添加到现有应用中,用于开发 Web 应用和微服务;提供了路由、JSON 序列化、MVC 控制器与视图 API 。

开发控制台应用

$ dotnet new console
$ dotnet restore
$ dotnet run

项目创建完成后,运行 dotnet restore 可分析项目的依赖,并下载所有需要的包。每次修改项目文件 .csproj 后,都要执行这一步骤。

开发第一个 ASP.NET Core 应用

往控制台应用添加 ASP.NET Core 功能步骤:

  • 添加 ASP.NET 包
  • 添加 Kestrel 服务器
  • 添加启动类和中间件

第 2 章 持续交付

相对于传统的单体应用,开发人员之所以要选择开发微服务系统,其驱动力之一就是需要一种能把新功能和修复补丁快速部署到小型、可独立缩放的子系统的功能。

只有在部署前就能确信这些服务在生产环境中不会出问题,才有可能做到这一点。

Docker 运用 Linux 内核提供的 cgroup 和 namespace 等功能对网络、文件和内存等资源进行隔离,避免了完整的重量级虚拟机的负担。

Docker 提供的能力让我们可以创建一种无视目标环境差异,随处运行的发布物,意味着在测试环境中测试 Docker 镜像之后,我们相信它在生产环境中也会以完全一致的方式工作。这是拥抱持续交付的前提。

运行 Docker 镜像

$ docker run -p 8080:8080 dotnetcoreservices/hello-world
$ docker ps
$ curl http://localhost:8080/will/it/blend?
$ docker kill 61a68ffc3851

使用 Wercker 持续集成

免费社区版(https://app.wercker.com/

用 Wercker 构建服务

  • 安装 Wercker 命令行工具
  • 添加 wercker.yml 配置文件
  • 运行 Wercker 构建

使用 CircleCI 持续集成

CircleCI 与 Wercker 构建过程的关键区别在于,构建过程不是在已安装好 .NET Core 的专用 Docker 镜像中运行,我们需要使用诸如 apt-get 的工具来安装 .NET 工具链。

部署到 docker hub

欢迎加入团购群

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。

《ASP.NET Core 微服务实战》-- 读书笔记(第1章 、第2章)的更多相关文章

  1. ASP.NET Core微服务实战系列

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. 前言 这里记录的是个人奋斗和成长的地方,该篇只是一个系列目录和构想 ...

  2. 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  3. Spring Cloud微服务实战阅读笔记(一) 基础知识

    本文系<Spring Cloud微服务实战>作者:翟永超,一书的阅读笔记. 一:基础知识   1:什么是微服务架构     是一种架构设计风格,主旨是将一个原本独立的系统拆分成多个小型服务 ...

  4. 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1

    创建好项目后,解决方案资源管理器窗口里我们看到,增加了不少文件夹及文件,如下图所示: 在解决方案文件夹中,找到项目文件夹,该文件夹又包含五个子文件夹 -Models.Controllers.Views ...

  5. 《ASP.NET Core In Action》读书笔记系列四 创建ASP.NET Core 应用步骤及相应CLI命令

    一般情况下,我们都是从一个模板(template)开始创建应用的(模板:提供构建应用程序所需的基本代码).本节使用 Visual Studio 2017 .ASP.NET Core2.0和 Visua ...

  6. 《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

    在本节中,您将看到ASP.NET Core应用程序如何运行的,从请求URL开始到页面呈现在浏览器中. 为此,您将看到 一个HTTP请求在Web服务器中是如何被处理的.ASP.NET Core如何扩展该 ...

  7. 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core

    ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...

  8. 《ASP.NET Core In Action》读书笔记系列一 ASP.NET Core 的诞生

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  9. 【.NET Core微服务实战-统一身份认证】开篇及目录索引

    简介 ​ 学习.NETCORE也有1年多时间了,发现.NETCORE项目实战系列教程很少,都是介绍开源项目或基础教程,对于那些观望的朋友不能形成很好的学习思路,遇到问题怕无法得到解决而不敢再实际项目中 ...

  10. Spring Cloud 微服务实战笔记

    Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发,测试,部署随着需求增加会不断为单个项目增加不同业务模块:前端展现也不局限于html视图模板的形式,后端 ...

随机推荐

  1. u-swipe-action 宽度计算的延迟导致组件加载时内部样式错误

    https://toscode.gitee.com/umicro/uView/issues/I1Y50J 左图为电脑显示效果,右图为app显示效果. 原因:u-swipe-action 宽度计算的延迟 ...

  2. 4.Prometheus之存储及WAL

    一.整体介绍 二.block 2.1 head block 三.WAL(Write-ahead logging, 预写日志) 3.1 数据流向 四.和存储相关的启动参数 五.总结 一.整体介绍 Pro ...

  3. Introduction to DFT

    服务器使用 登陆服务器:输入账号密码 打开terminal,保证至少一个terminal窗口是打开的 取消Linux操作系统的屏幕保护 设置Linux EDA工具配置 // 自定义环境变量设置 gvi ...

  4. 安卓系统如何使用谷歌框架下的app?

    1.问题 安卓系统从理论上无法使用谷歌框架下的应用(比如像GMail,YouTube,Google play等等),会导致一些麻烦(闪退,卡在登陆界面等等) 注意:使用前提是会魔法,否则请绕道 2.解 ...

  5. 永久激活Windows10专业版及其它版本【亲测有效2022-03-16,两种方式】

    前言 小编最近使用公司的电脑,开始出现让你激活的提示,而且每次开机都会弹出来,小编忍住了:但是过不了半个月开始给你在桌面上显示了,一直显示和水印一样.小编忍无可忍,必须找个办法给你消灭掉!!,于是小编 ...

  6. 【SHELL】查找文件并删除

    find . -iname file-name |xargs -I % rm -rf %

  7. [js] - 导航展出动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Python Code_01

    author : 写bug的盼盼 development time : 2021/8/27 19:41 输出数字 print(520) 输出字符串 print('HelloWorld') print( ...

  9. Oracle12c新增max_idle_time参数的学习与感触

    Oracle12c新增max_idle_time参数的学习与感触 TLDR 其实任何软件出了新版本.readme 是很重要的. 尤其是数据库, 涉及到底层问题的. 比如这次遇到的Oracle的max_ ...

  10. Windows平台文件拆分与完整性检查的过程

    Windows平台文件拆分与完整性检查的过程 场景 有时候在没有linux主机的情况下, 自己下载下来的文件比较大. 比较难以上传到一些特殊的系统/主机上面. 这个时候需要将文件进行拆分. 所以可以通 ...