# whatsmars [![star](https://gitee.com/javahongxi/whatsmars/badge/star.svg?theme=dark)](https://gitee.com/javahongxi/whatsmars/stargazers)
*`mvn clean package -Dmaven.test.skip`* `jdk8+` `maven3.3.1+`
Java生态研究(**Spring Boot**🔥 + **Redis**🔥 + **Dubbo**🔥 + **RocketMQ**🔥)
双核驱动:**Spring Boot**, **Dubbo**
![dk](DoubleKernel.png)
Spring Boot 系列(Servlet, Tomcat, Spring, SpringMVC, Spring Boot, MyBatis)
Dubbo 系列(Dubbo, Zookeeper, Nacos, Sentinel ...)
> 好的微服务架构师一定是业务架构师,基于业务的建瓴,微服务设计三部曲,遵循自下而上的设计原则,即原子服务、服务组合和业务编排,避免系统之间出现混乱调用。
### Modules intro
Module | Intro
------ | ------
whatsmars-common | mail,HttpUtils,AES,DES加解密
whatsmars-dbrouter | 分库分表实现
whatsmars-dubbo | 阿里分布式RPC(服务化)框架
whatsmars-earth | springmvc+velocity实战
whatsmars-elasticjob | 分布式调度
whatsmars-javase-example | Java基础 & 新特性
whatsmars-mq | 消息中间件rocketmq,activemq
whatsmars-redis | redis客户端简单封装
whatsmars-rpc | RPC & Protocol
whatsmars-sharding-jdbc | 开源分布式数据库中间件
whatsmars-spring | spring原理、集成及新特性
whatsmars-spring-boot | springboot实战
whatsmars-spring-boot-samples | 常用spring-boot-starters演示
whatsmars-spring-cloud | springcloud demo
whatsmars-tomcat | 模拟tomcat实现,embed tomcat
### More projects
- [*阿里巴巴贡献给Apache的分布式RPC框架Dubbo*](https://github.com/alibaba/dubbo)
- [*阿里巴巴开源服务发现、配置及治理平台Nacos*](https://github.com/alibaba/nacos)
- [*阿里巴巴开源分布式系统的流量防卫兵Sentinel*](https://github.com/alibaba/Sentinel)
- [*阿里巴巴贡献给Apache的消息中间件RocketMQ*](https://github.com/apache/rocketmq)
- [*RocketMQ扩展,包括console,docker,multi-language等*](https://github.com/apache/rocketmq-externals)
- [*JMS的标准实现ActiveMQ*](https://github.com/apache/activemq)
- [*spring-framework*](https://github.com/spring-projects/spring-framework)
- [*spring-boot*](https://github.com/spring-projects/spring-boot)
- [*spring-cloud*](https://github.com/spring-cloud/spring-cloud-netflix)
- [*spring-data-redis*](https://github.com/spring-projects/spring-data-redis)
- [*Redis作者的redis*](https://github.com/antirez/redis)
- [*当当网开源的分布式任务调度框架elastic-job*](https://github.com/elasticjob/elastic-job)
- [*当当网的sharding-jdbc*](https://github.com/shardingjdbc/sharding-jdbc)
- [*阿里巴巴mysql数据库binlog的增量订阅&消费组件canal*](https://github.com/alibaba/canal)
- [*阿里巴巴开源的为监控而生的数据库连接池druid*](https://github.com/alibaba/druid)
- [*A fast, light-weight proxy for memcached and redis*](https://github.com/twitter/twemproxy)
- [*mybatis通用分页插件*](https://github.com/pagehelper/Mybatis-PageHelper)
- [*elasticsearch - Distributed, RESTful Search Engine*](https://github.com/elastic/elasticsearch)
- [**各种解决方案**](https://github.com/javahongxi/whatsmars/wiki/%E5%90%84%E7%A7%8D%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88)
### Friendship links
- [*阿里巴巴Java开发手册*](https://github.com/alibaba/Alibaba-Java-Coding-Guidelines) 📚
- *技术博客* [blog.hongxi.org](http://blog.hongxi.org) ✏️
- *深入一点* [deep.hongxi.org](http://deep.hongxi.org) ✏️
### Warm tips
- JDK is the most important.
- 带着问题去看源代码,没必要把源代码看完
- 看源代码最大的技巧是看英文注释,另一个技巧是日志+DEBUG
- 如果没有时间去深入研究一款软件,那么从宏观层面理解它的设计思想是重要的
© [hongxi.org](http://hongxi.org) | [lab.hongxi.org](http://lab.hongxi.org) | [typora.io](https://typora.io)