# whatsmars
*`./mvnw clean package -Dmaven.test.skip`* [`java 8+`](http://www.oracle.com/technetwork/java/javase/downloads) [`mvnrepository`](http://mvn.hongxi.org)
<br>*What's Mars? 专注于Java生态研究，为Java学习者少走弯路。*
<br>Java生态研究(**Spring Boot**🔥 + **Redis**🔥 + **Dubbo**🔥 + **RocketMQ**🔥 + **Elasticsearch**🔥)
- [Spring Boot](https://spring.io/projects/spring-boot) Series(Servlet, Tomcat, Spring, SpringMVC, Spring Data, Spring Boot, Spring WebFlux, Spring Cloud)
- [Dubbo](http://dubbo.apache.org/en-us/) / [《企业IT架构转型之道：阿里巴巴中台战略思想与架构实战》](https://book.douban.com/subject/27039508/)
- [《Redis设计与实现》](https://e.jd.com/30189715.html) `e.jd.com`
- [《RocketMQ实战与原理解析》](https://e.jd.com/30414640.html) / [《Kafka权威指南》](https://e.jd.com/30442811.html)
- [《Elasticsearch技术解析与实战》](https://e.jd.com/30318357.html)

👻 [start.spring.io](https://start.spring.io) 👻 [start.dubbo.io](http://start.dubbo.io)

### Modules intro
Module | Intro
------ | ------
whatsmars-common | Utils公共模块
whatsmars-dbrouter | 分库分表实现
whatsmars-dubbo | 高性能分布式RPC框架
whatsmars-earth | springmvc+velocity实战
whatsmars-elasticjob | 分布式调度
whatsmars-elasticsearch | Elasticsearch
whatsmars-javase | Java基础 & 新特性
whatsmars-mq | 消息中间件RocketMQ,Kafka等
whatsmars-redis | Redis客户端简单封装
whatsmars-rpc | Transport & RPC & Serialization
whatsmars-sharding-jdbc | 分布式数据库中间件
whatsmars-spring | Spring Framework
whatsmars-spring-boot | Spring Boot 实战
whatsmars-spring-boot-samples | Spring Boot 2+
whatsmars-spring-cloud | Spring Cloud 微服务生态
whatsmars-tomcat | 模拟tomcat实现
whatsmars-zk | zookeeper

### Mars Plan
- [x] [*Dubbo*](https://github.com/alibaba/dubbo)
- [x] [*Sentinel*](https://github.com/alibaba/Sentinel)
- [ ] [*Nacos*](https://github.com/alibaba/nacos)
- [x] [*ZooKeeper*](https://github.com/apache/zookeeper)
- [x] [*RocketMQ*](https://github.com/apache/rocketmq)
- [x] [*Tomcat*](https://github.com/apache/tomcat)
- [x] [*Spring Framework*](https://github.com/spring-projects/spring-framework)
- [x] [*Spring Data*](https://github.com/spring-projects/spring-data-examples)
- [x] [*Spring Boot*](https://github.com/spring-projects/spring-boot)
- [x] [*Spring Cloud*](https://github.com/spring-cloud/spring-cloud-netflix)
- [x] [*Redis*](https://github.com/antirez/redis)
- [ ] [*Otter*](https://github.com/alibaba/otter)
- [x] [*Elasticsearch*](https://github.com/elastic/elasticsearch)

### 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
- 如果没有时间去深入研究一款软件，那么从宏观层面理解它的设计思想是重要的

&copy; [hongxi.org](http://hongxi.org) | [wiki.hongxi.org](http://wiki.hongxi.org) | [typora.io](https://typora.io)
