前言 上一篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>讲解了API的设计与实现,本篇主要讲解编写接口的SDK编写还有API的测试. 或许有些人会认为,SDK的编写可以不需要,既然已经用了RESTful web服务与Swagger提供的接口描述,只要选择合适的接口调用框架,找到对应Swagger文档按需调用即可. 这个我赞同,特别在微服务架构下使用了API网关与服务发现.因此本篇也是借用编写SDK来模拟在客户端使用接口框架调用,并增加负载测试的讲解,供需要的…
前言 经过两周多的业余时间,终于把该系列的文章写完了.第一次写系列,可能部分关键点并没有覆盖到,如果有疑问的朋友可以随时反馈给我.另外也感谢在我发布文章时给予我方案建议与反馈源码BUG的朋友们.下面是整理了该系列的一些信息.希望帮助到有需要的朋友. 源码地址 https://github.com/SkyChenSky/Sikiro.SMS befor分支:是第二篇到第六篇的源码 optimize分支:是第七篇优化后的源码 目录 .net core实践系列之短信服务-为什么选择.net core(…
前言 前两篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>.<.net core实践系列之短信服务-Api的SDK的实现与测试>分别讲解了API提供服务与SDK调用API实现. 本篇会继续讲解Sikiro.SMS.Bus的服务实现,此实现是基于开篇的架构设计的拥有调度任务服务,在最后一篇会给架构优化的,抛弃了调度任务服务使用MQ代替. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS 功能流程描述 如上图所…
前言 上篇<.net core实践系列之短信服务-为什么选择.net core(开篇)>简单的介绍了(水了一篇).net core.这次针对短信服务的架构设计和技术栈的简析. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS 为什么需要架构设计 有人会问短信服务也要架构设计?不就写个service封装个send方法就得了吗?干嘛还要大动干戈. 如果在单块应用的情况下,以上面的做法是无可厚非的. 然而架构设计解决的是应用复杂度,架构设计的大还是小取决于业…
前言 上篇<.net core实践系列之短信服务-架构设计>介绍了我对短信服务的架构设计,同时针对场景解析了我的设计理念.本篇继续讲解Api服务的实现过程. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS 此服务会使用.NET Core WebApi进行搭建,.NET Core WebApi基础原型就是RESTful风格,然而什么叫RESTful呢. REST API简介 REST Representational State Transfer的缩写…
前言 通过前面的几篇文章,讲解了一个短信服务的架构设计与实现.然而初始方案并非100%完美的,我们仍可以对该架构做一些优化与调整. 同时我也希望通过这篇文章与大家分享一下,我的架构设计理念. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS/tree/optimize (与之前的是另外的分支) 架构是设计的还是演变的? 架构 该词出自于建筑学.软件架构定义是指软件系统的基础结构,是系统中的实体及实体(服务)之间的关系所进行的抽象描述.而架构设计的目的是为…
前言 从今天我将会写.net core实战系列,以我最近完成的短信服务作为例子.该系列将会尽量以最短的时间全部发布出来.源码也将优先开源出来给大家. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS .NET CORE简介 ASP.NET Core 是一个跨平台的高性能开源框架,它不是ASP.NET Framework延伸,而是重生,存在质的区别.不得不夸微软,使ASP.NET Core开源是一大进步就是,其源码可以在github上搜索到.其代码的透明度…
前言 本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代替.但是为了说明调度任务使用实现也坚持写了下.后面会一篇针对架构.实现优化的讲解. 源码地址:https://github.com/SkyChenSky/Sikiro.SMS Quartz的简介 Quartz.NET是一款功能齐全的开源作业调度框架,小至的应用程序,大到企业系统都可以适用.Quartz是作者James House用J…
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access Key) 然后,下载阿里云短信服务的SDK包,https://help.aliyun.com/document_detail 在项目的app目录下新建Libs文件夹,将上图的两个SDK包放入Libs下. 项目根目录找到composer.json文件,打开,修改配置如下 紧接着在项目根目录执行:co…
步骤 1 使用阿里云短信服务正常发短信需要 短信签名 短信模板 1申请短信签名   根据用户属性来创建符合自身属性的签名信息.企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明.   短信签名需要审核通过后才可以使用. 1.2 申请短信模板   短信模板,即具体发送的短信内容.短信模板可以支持验证码.短信通知.推广短信.国际/港澳台消息四种模式.验证码和短信通知,通过变量替换实现个性短信定制.推广短信不支持在模板中添加变量.   短信模板需要审核通过后才可以使用. 步骤 2 获…