Skip to content

xyy277/Hikaru

Repository files navigation

#拿来就用主义 美好愿望:架构更优雅,代码更优美,避免重复造轮子,降低成本,敏捷开发 ##Frameworks are friends of developers, and we did it. ####hikaru as a web develop distributed full-stack framework, we still have a lot to do .At the same time, more people need to get involved 代码结构

 hikaru-server/
    .idea
    hikaru-api             | conrtoller    - rest服务
    hikaru-application     | application   - springboot 启动
    hikaru-common          | common        - 基础应用抽分
    hikaru-core            | core          - 核心封装,不可依赖其他模块
    hikaru-entity          | 实体          - 业务实体
    hikaru-feign           | feign client  - 
    hikaru-model           | model         - 业务模型
    hikaru-service         | 业务          - 业务实现
    out                    | build         - 打包
    .gitignore             |
    hs_err_pid24096.log    |
    hikaru-server.iml      |
    pom.xml                |
    README.md              |

###一键打包部署 运行服务

####打包命令:mvn clean package,将jar 打包到hikaru-application/target目录下 #####运行命令:java -jar hikaru-server.jar,jar包同一级目录可手动定制配置properties #####访问地址默认跳转swagger首页:${server.address}:${server.port}/${server.context-path} #####rest接口

###一些约定 #####bootstrap.properties ,用于辅助应用相关配置 #####application.properties,用于应用级别相关配置 ##快速上手 ####hikaru-application,boot模块 #####Application及相关配置 #####consul部署见↓ #####windows本地快速启动consul单机模式- consul agent -dev -ui -node= node1 #####linux consul快速启动单机模式 - nohup ./consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul-node=node_1 -bind={{your ip}} -config-dir=/etc/consul.d -client 0.0.0.0 -ui &

####hikaru-common,自定义framework模块 #####目前现有的一些参考的技术选型,非最终版本

   application  |   framework自定义配置
   exception    |   自定义exception处理
   filter       |   自定义过滤器
   global       |   全局参数配置
   helper       |   常用helper函数
   interceptor  |   自定义拦截器
   listener     |   自定义监听器
   middleware   |   集成的框架与中间件
                activity        -   工作流
                camunda         -   一个流程引擎框架,fork activiti得来
                elasticsearch   -   elasticsearch + logstash + kibana 日志管理
                generator       -   分布式Id生成器
                kafka           -   kafka,吞度量大,数据的存储和获取是本地磁盘顺序批量操作,O(1),消息处理的效率很高
                quartz          -   quartz持久化定时任务,适合更复杂应用场景,支持分布式,与spring独立
                rabbitmq        -   rabbitmq,可靠性强,支持对消息的可靠的传递,支持事务,不支持批量的操
                redis           -   redis缓存
                shedule         -   shedule,不支持分布式,需用分布式锁自己实现
                shiro           -   shiro,java安全框架
   websocket    |   消息推送,单个TCP连接上进行全双工通信的协议,使得客户端和服务器之间的数据交换变得更加简单

###微服务 ####服务的发现、注册、路由、熔断、降级、分布式配置 #####当服务数并不大、业务不怎么发生变化、吞吐量稳定的时候,可以不必要进行引入,引入服务发现需要以下技术栈 ######consul、Nginx、FeignClient -- dubbo、zookeeper -- Eureka(2.0 闭源) -- gateway ######微服务的限流熔断 Hystrix(Netflix 宣布停止开发 Hystrix)-- Resilience4j和Sentinel可选

######consul - nginx - consul-template 安装部署 https://blog.csdn.net/delongcpp/article/details/80119307 https://blog.csdn.net/songhaifengshuaige/article/details/79111676

####可以采用多数据源 #####DataSource-1 :JAP #####DataSource-2 :Dao

####作者:zhoujiajun@gsafety.com(manito),QQ(邮箱微信同号): 907507646 #####group:等待你的加入 ######Fork 本项目 1、新建 Feat_xxx 分支 2、提交代码 3、新建 Pull Request

#####SOLID:单一职责原则、开闭原则、李氏代换原则、接口隔离原则、依赖倒置原则 #####开发约束:结构化编程、面向对象编程、函数式编程

####采坑记录:spring boot1.x —> spring boot2.x + cloud Finchley.x ###by the way 既然你都来了点个star再走吧。

#####先行版请chek out branch to develop

Releases

No releases published

Packages

No packages published