# make_knife **Repository Path**: flying-cattle/earn_knife ## Basic Information - **Project Name**: make_knife - **Description**: 针对Spring Cloud的Finchley.RC2版本,写了一套比较实用的基础框架,其中优化了http请求。后续持续加上SSO,安全认证,角色权限,支付系统,秒杀系统,区块链去中心化钱包系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 21 - **Forks**: 9 - **Created**: 2018-05-25 - **Last Updated**: 2025-08-28 ## Categories & Tags **Categories**: blockchain **Tags**: None ## README # make_knife #### 项目介绍 Spring Cloud 完整微服务搭建与部署(centos7)
架构描述:
        服务注册中心:Eureka
        用户管理中心:user-center
        贸易管理中心:deal-center
  #### 软件架构 软件架构说明:
核心框架:Spring Boot
模板引擎:Thymeleaf
持久层框架:MyBatis
数据库连接池:Alibaba Druid
缓存框架:Ehcache
日志管理:SLF4J+Logback

item-parent:
        是一个父级项目,打包方式是POM,作用:控制其下所有子项目的jar包版本,利于项目包版本统一、项目版本统一升级,降低所用包版本迭代快的影响。

item-common:
        这个就不用多介绍了,你认为你每个项目都用的到的,就可以扔进去,包括JAR包。

euerka-center:
        这就是一个Spring cloud 中组件之一的euerka,实现了高可用与服务验证。
        具体介绍:https://my.oschina.net/bianxin/blog/1819947

user-center:
        用户中心:我定义为一个生产者,为别的服务提供用户信息查询等接口。

deal-center:
        交易中心:我定义为一个消费者,实现了用Feign以ApachHttpclient发送请求的方式,消费了由用户中心提供的接口。
        具体介绍:https://my.oschina.net/bianxin/blog/1821684

user-center结构说明:
        user-api:打包方式(jar),包含实体类,与提供的Feign请求的接口。
        user-biz:打包方式(jar),包含用户相关的数据层,与逻辑处理。
        user-web:打包方式(jar),包含用户相关的接口,与页面逻辑处理。
        user-biz引入user-api,user-web引入user-biz。

deal-center结构说明:
        基本与user-center一样,因为要消费user-center中的接口,在deal-web的maven配置中引入user-api就好。


#### 架构实现         **单个工程:
                1.实现swagger的API接口文档
                2.整合pagehelper实现便捷分页
                3.实现了高可维护型的自然模板(Java控制页面跳转)
        整体架构:
                1.实现服务注册中心集群和单机版
                2.实现了Java端(脱离传统nginx负载均衡的)负载均衡及根据响应时间自动分配。
                3.实现以Feign访问服务请求,并改底层为Apache的httpclient可获取连接池、超时时间等与性能息息相关的控制能力。
       后续考虑使用模板技术,实现自动生成三层代码,减少工作量,避免不必要的错误。**