存档

2017 年 06 月 - 2 文章

Solo 支持 Hexo/Jekyll 数据导入

自 Solo 2.2.0 开始将支持对 Hexo/Jekyll 两款静态博客系统的文章导入,具体使用方法如下: 在 Solo 根目录下放置 markdowns 目录,里面放置待导入的一些 md 文件(可新建目录,方便标识,比如可将 Hexo 的 _posts 文件夹直接拷贝进来) 重启 Solo,启动后将逐篇进行自动导入,可通过日志查看导入情况 导入结束后原 md 文件将被重命名为 .md.{时间毫秒} 这样的格式,如不需要,可将这类后缀的文件删除 导入失败的 md 文件不会被重命名,可将日志和 md 文件反馈给我们,以帮助我们继续改进 :heartbeat: 另外,目前仅支持已发布的 post,不支持 draft、page 等。 Some technical details 每个 md 文件都会按照 Hexo/Jekyll 定义的头部进行解析,已确定标题、标签等: Hexo 头 Jekyll 头 支持头信息中使用 description、summary、abstract 作为文章摘要,如果没有的话将自动截取正文部分 如果没有定义头信息,或者解析失败,则以文件名作为标题、Not....

More...

理解 Eureka 的 P2P 通讯

Eureka 客户端会和在同一个可用区(Zone)的服务端进行通讯,如果通讯失败或者服务端没有和客户端在一个可用区,则客户端将进行失效转移:对其他可用区的服务端发起通讯。 服务端接收到客户端信息后,会进行一些列操作将信息同步给其他服务端节点。如果某步操作失败,信息将在下一次心跳时同步给其他服务端节点。 当一个 Eureka 服务端节点启动后,它将向其他服务端节点获取所有实例的注册信息。服务端获取到实例列表后将根据信息创建续约(renew)相关数据并准备接收来自客户端的续约请求。如果在某个时刻客户端续约失败(15 分钟内低于 85%),服务端将停止实例过期防止该实例注册信息丢失。 在 Netflix 内部,上述过程称作自我保护模式,是 Eureka 客户端和服务端通讯时发生断网的一个保护机制。在这个场景下,服务端将尝试保存住已有的注册信息。此时客户端获取的实例列表中有可能有的实例已经不能正常服务了,客户端需要自己保证 Eureka 服务端返回的实例在不存在或不响应情况下是弹性的,最好的处理方式就是对该实例的调用设置较短超时并尝试其他服务器。 当服务端没法从其他节点获取注册信息时,....

More...