Giter VIP home page Giter VIP logo

wangcy2018 / mitbook-mountain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bobsimon/mitbook-mountain

1.0 1.0 0.0 885 KB

The framework is a framework to solve distributed problems. It uses the principle of spring automatic assembly, and the idea of this framework draws lessons from the distributed things framework on the market. The framework is to solve the problem of distributed things

License: MIT License

Java 100.00%

mitbook-mountain's Introduction

框架描述

  • 该框架是解决分布式系统中的分布式事务问题,该框架是保证分布式事务的强一致性,事务日志数据存储于redis, 为了保障redis的高可用可把redis部署为redis cluster模式以及开发混合持久化机制,可把redis部署为当日志 数据量比较大的时候数据基于纯内存操作,有助于提升框架的性能,其中在在代码层面上设置了redis的key的过期 时间,以防redis数据过多导致内存溢出或者导致频繁的 full gc,在数据存储在redis过程中,如果存储失败,则会 触发重试逻辑,从而保证数据同步的成功,但是这用又引入了一个新的问题,如果数据一直重试,导致框架一直处于 重试逻辑从而影响系统的性能,所以在这一方面的逻辑在后面进行优化

使用详解

  • 详细请看mitbook-test工程

设计原理

  • 目前不提供原理讲解,可自行阅读源码理解原理,后面的设计文档会进一步完善

支持db

  • 市面上的db都支持,只要是符合jdbc规范的数据库都支持

技术选型

  • springboot,aop,redis等等

测试地址

注意

集成第三方框架使用

  1. 引入maven依赖
<dependency>
   <groupId>com.mitbook</groupId>
   <artifactId>mitbook-stater</artifactId>
   <version>1.0</version>
 </dependency>
 
  1. 在启动类上加上@EnableGlobalTransactional注解,就能解决分布式事务问题

代码贡献说明

  • 如源码爱好者有更好**,欢迎来扰,本人以真诚的谢意欢迎您来贡献
  • 如发现bug请及时与我联系,本人看到消息会在第一时间联系你,帮您解决问题
  • 本框架只应用于学习,不应用商业,如需应用商业,请与本人联系,谢谢

建议

  • 建议使用redis cluster架构模式来保障redis的高可用(可开启redis的混合持久化来保证redis的高可用)

mitbook-mountain's People

Contributors

bobsimon avatar pengzhengfa avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.