skynet记录7:第一个服务logger和第二个服务bootstrap
(1)logger是skynet_context_new创建:skynet_context及mq,模块create和init
(2)bootstrap启动过程:snlua时一个lua的so,对应的snlua_create创建服务也就是一个lua虚拟机,snlua_init发消息给自己初始化调用bootstrap.lua,
snlua对应的服务收到消息后service_snlua.c/init_cb() 会执行loader.lua,可以认为它什么也没做,里面直接调用bootstrap.lua
bootstrap是c语言创建的服务,此后更多的服务有lua创建,虽然没有跟踪过程,但猜测其实现也应该是对snlua的包装。
(3)bootstrap.lua代码分析:
里面又启动了launcher.lua服务(最后bootstrap服务会退出,但launcher服务不退出,它管理所有的本地服务)
然后又启动了cmaster,cslave,datacenterd,service_mgr四个服务,都在service文件夹下,(cslave会启动harbor服务),
然后又启动了example/main.lua服务
稍后填坑
skynet记录7:第一个服务logger和第二个服务bootstrap的更多相关文章
- skynet记录7:服务(c和lua)
稍后填坑 1.c服务的写法(第一个服务logger分析) 2.lua服务的写法(第二个服务bootstrap分析) 3.snlua包装模块
- SPOJ 3693 Maximum Sum(水题,记录区间第一大和第二大数)
#include <iostream> #include <stdio.h> #include <algorithm> #define lson rt<< ...
- 第一篇:CDH配置本地http服务
在我们安装cdh的时候,避免不了要安装一大堆软件,包括cm的服务器,hadoop的各种组件.这些组件的文件都比较大,所以我们会在本地配置一个http服务,以便于在安装cdh服务的时候能快速的安装完.本 ...
- Dubbo 微服务系列(03)服务注册
Dubbo 微服务系列(03)服务注册 [TOC] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 图1 Dubbo经典架构图 注:本图来源 Dubbo官方架构 ...
- Chris Richardson微服务翻译:构建微服务之微服务架构的进程通讯
Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯(本文) 微服务架构中的服务发现 微服务之事件驱动的数据管理 微服 ...
- WebService之soap类型的服务和rest类型的服务
1.引言 WebService顾名思义就是web服务,web服务主要有两种,一种是基于soap类型的服务,一种是基于rest类型的服务,其中soap类型的服务有两种版本,一种是soap1.1版本,一种 ...
- MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...
- 检测WCF服务是否在线第二版
上一版在这里http://www.cnblogs.com/kklldog/p/4878296.html 上一版主要是解决了监控服务不需要手动添加服务引用的问题,但是还是需要在配置文件中添加对应的end ...
- STL——空间的配置和释放std::alloc(第一级配置器和第二级配置器)
1 空间的配置和释放,std::alloc 对象构造前的空间配置和对象析构后的空间释放,由<stl_alloc.h>负责,SGI对此的设计哲学如下: 向system heap要求空间 考虑 ...
随机推荐
- Convert Adjacency matrix into edgelist
Convert Adjacency matrix into edgelist import numpy as np #read matrix without head. a = np.loadtxt( ...
- Disconnected from the target VM, address: '127.0.0.1:57178', transport: 'socket'
idea 执行测试单元debug时控制台出现:Disconnected from the target VM, address: '127.0.0.1:57178', transport: 'sock ...
- Burp Suite设置代理
一.确认代理信息 打开Burp Suite,查看proxy->options,看到Interface一栏为127.0.0.1:8080. 二.在Firefox中设置代理服务器 可以下载工具Fox ...
- leetcode966
class Solution(object): def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'L ...
- oracle数据库误删的表以及表中记录的恢复
oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash bac ...
- Hadoop Mapreduce运行流程
Mapreduce的运算过程为两个阶段: 第一个阶段的map task相互独立,完全并行: 第二个阶段的reduce task也是相互独立,但依赖于上一阶段所有map task并发实例的输出: 这些t ...
- 基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序
硬件设备 42步进电机,步进电机驱动器,正点原子F429开发板 开发软件 keil5,Cube 综述 一般要精准的控制电机,就要控制单片机的引脚输出指定个数的PWM波,有多种可实现的方法 ...
- 转载(TCPClient 建立连接和断开连接函数)
public bool networkbuild()//建立端口连接 { if (client == null) { try { client = new TcpClient(networkip, n ...
- java课程之团队开发冲刺1.1
一.今日目标 1.完成课程助手的日期显示以及周数显示功能 2.将功能表改成侧面功能栏 3.将代码重新规范,尽量使得主函数简洁明了
- 项目(十)openvpn架构实施方案(一)跨机房异地灾备
第一章VPN介绍 1.1 VPN概述 VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术,可以为企业之间 ...