前言
微服务,顾名思义就是微小的单一的服务程序,单一流程,单一发布,开发和部署都可独立;
这是我的理解;
但基于web的服务,不管是webservice还是webapi等类似的服务都需要基于iis或者tomcat,
本文介绍重点绕过iis或tomc部署基于http服务明文程序;
所谓明文程序就是源码发布;当然你也可以不必是源码发布,这个可以个人需求;
序言
请不要问我为什么不直接使用web现成的架构,进行开发部署,
第一:我的项目有这样的需求;原本就是一个服务程序,提供socket tcp协议数据服务;并且需要提供socket http协议服务;
第二:梳理自己的知识;
第三:对微服务和webapi概念进行强化和模拟实现;
正文开始
在阅读这篇文字之前建议优先查看之前文章,比如线程,脚本,socket 服务等;
本文先从java版本开始讲解;稍后依然会写上C#,但是代码机制都是一样的;本程序习惯作风,java和C#双版本共存;
本人代码风格习惯,
项目主包下面包含功能块实现;功能块里面包含单例管理器,如果需要有脚本接口处理iscript里面包含接口的处理形式
我们优先创建文件IWebApiScript
View Code
创建WebApiManager
1 package net.sz.game.test.webapi; 2 3 import java.util.ArrayList; 4 import net.sz.game.engine.nio.nettys.NettyPool; 5 import net.sz.game.engine.nio.nettys.http.NettyHttpServer; 6 import net.sz.game.engine.nio.nettys.http.NioHttpRequest; 7 import net.sz.game.engine.nio.nettys.http.handler.IHttpHandler; 8 import net.sz.game.engine.scripts.IBaseScript; 9 import net.sz.game.engine.scripts.manager.ScriptManager;10 import net.sz.game.engine.szlog.SzLogger;11 import net.sz.game.test.webapi.iscript.IWebApiScript;12 13 /**14 *15 *
16 * author 失足程序员
17 * blog http://www.cnblogs.com/ty408/
18 * mail 492794628@qq.com
19 * phone 13882122019
20 */21 public class WebApiManager {22 23 private static SzLogger log = SzLogger.getLogger();24 private static final WebApiManager IN_ME = new WebApiManager();25 26 public static WebApiManager getInstance() {27 return IN_ME;28 }29 30 public void init() {31 /*获取http绑定*/32 Net