Open axetroy opened 7 years ago
我了个去,原来你的博客数据都保存在GitHub的issue里面,,,不知道这是不是属于serverless的概念
那么在博客页面是不是可以写评论,然后直接调用github的commit接口
@pengliheng 我的站点 axetroy.xyz 里面的数据,全部来源于Github。 想做的就是serverless,然后又不需要常规的发布/编辑文章那一套,也不要Hexo那一套。 Github就很适合我
评论这一块,在博客里面不支持直接评论, 但是会显示评论。评论的话因为要oauth认证,需要一个中间服务器(可以搭建的heroku上)。之前有做过,而且还做了差不多。可以在博客里面通过Github登陆,然后评论。
但是后面又不做了,有点繁琐
@pengliheng issues还可以做很多事,比如规定合适的模板,解析出你想要的数据。
比如这里 http://axetroy.xyz/#/case
数据存放在这里 https://github.com/axetroy/showcase/issues
通过特定的格式去解析
所以,如果需要一个新的模板,就又要重新建一个github仓库
@pengliheng 这都不是事
在.github
文件夹里面定义issues模板
创建issues的时候,就是那个固定的模板了
你可以创建类似这样的模板
Author: axetroy
Date: 2017-11-19T13:31:04.335Z
Category: React
<-- content-start -->
这里是文章内容
<-- content-end -->
然后再前端解析这段模板,再渲染页面
之前一直写前端应用,一直没有机会真正的写后端(有也是小打小闹,写后后端博客)。
但也在最近两个月。项目需要,开始真正的后端的,踩了很多坑,总结下来。
技术选型
开发语言
Typescript
Javascript
Web框架
可选的框架有:
数据库
因为之前接触的就是mongodb,简单易容,无关系型,所以简单上手就直接用了。
这就涉及到其中的一些坑了:
项目也是进行到一些,果断换了数据库,据说postgres坑比较少,支持多种类型,字段校验,事务,隔离,而且gui支持不错,有pgadmin,所以就它了。
然后选用的关系型数据库ORM,选用了一个star最高,并且社区还算活跃的sequelize。
然后使用下来的心得就是: 坑多.
踩坑
RPC
RPC采用thift,但是thrift的官方库不支持SSL重连,意味着如果RPC的提供者端口如果断开连接,是不会重连的。RPC接口一直报错..
解决方法:
自己维护连接池,自动重连功能...
定时任务
定时任务有缺陷,如果定时任务很频繁。会导致数据库连接一直没有可以释放,从而导致死锁。
因为定时任务不会等待上一个任务结束之后才开始。
解决办法:
业务代码内启动无限循环,执行业务代码,然后等待上一个任务完成之后,才进行下一个任务。
开机自启动
部署使用pm2部署集群,设置开机自启动
总结:
Typescript是必备,后悔没有用基于Typescript的ORM,typeorm。 自己构建的项目也是有很多重复的代码,曾经也很纠结要不要用webpack打包起来,但是想想打包其他之后,线上的堆栈信息报错不方便查找问题,而且涉及到一些C++模块无法打包,一些镜头资源无法加载的问题..