simplest introduction
diff --git a/doc/Introduction.md b/doc/Introduction.md
index 8b13789..9496f8f 100644
--- a/doc/Introduction.md
+++ b/doc/Introduction.md
@@ -1 +1,80 @@
+----------
+## RocketMQ Client Go
+### 1. Go Version
+* go1.11.1 darwin/amd64
+
+### 2. Dependency
+* [librocketmq](https://github.com/apache/rocketmq-client-cpp)
+
+### 3. Build and Install
+#### macOS Platform (macOS Mojave 10.14)
+* Install Compile tools (homebrew package manager)
+ ```
+ 1. xcode-select --install
+ 3. brew install cmake
+ 4. brew install automake
+ ```
+* Install dependencies
+ 1. [Go official download](https://golang.org/dl/)
+
+ 2. Get go client package
+ ```
+ go get github.com/gaufung/rocketmq-client-go
+ ```
+ 3. [librocketmq](https://github.com/apache/rocketmq-client-cpp)
+ - `git clone https://github.com/apache/rocketmq-client-cpp`
+ - `cd rocketmq-client-cpp`
+ - `sudo sh build.sh`
+ - `cp bin/librocketmq.dylib /usr/local/lib`
+ - `sudo mkdir /usr/local/include/rocketmq`
+ - `sudo cp incldue/* /usr/local/incldue/rocketmq/`
+
+#### Linux
+
+
+#### Windows
+
+----------
+## How to use
+
+- import package
+ ```
+ import "github.com/apache/rocketmq-client-go/core"
+ ```
+- Send message
+ ```go
+ func SendMessagge(){
+ producer := rocketmq.NewProduer(&rocketmq.ProducerConfig{GroupID: "testGroup", NameServer: "localhost:9876"})
+ producer.Start()
+ defer producer.Shutdown()
+ fmt.Printf("Producer: %s started... \n", producer)
+ for i := 0; i < 100; i++ {
+ msg := fmt.Sprintf("Hello RocketMQ-%d", i)
+ result := producer.SendMessageSync(&rocketmq.Message{Topic: "test", Body: msg})
+ fmt.Println(fmt.Sprintf("send message: %s result: %s", msg, result))
+ }
+ time.Sleep(10 * time.Second)
+ producer.Shutdown()
+ }
+ ```
+- Push Consumer
+ ```go
+ func PushConsumeMessage() {
+ fmt.Println("Start Receiving Messages...")
+ consumer, _ := rocketmq.NewPushConsumer(&rocketmq.ConsumerConfig{
+ GroupID: "testGroupId",
+ NameServer: "localhost:9876",
+ ConsumerThreadCount: 2,
+ MessageBatchMaxSize: 16})
+ // MUST subscribe topic before consumer started.
+ consumer.Subscribe("test", "*", func(msg *rocketmq.MessageExt)rocketmq.ConsumeStatus {
+ fmt.Printf("A message received: \"%s\" \n", msg.Body)
+ return rocketmq.ConsumeSuccess})
+ consumer.Start()
+ defer consumer.Shutdown()
+ fmt.Printf("consumer: %s started...\n", consumer)
+ time.Sleep(10 * time.Minute)
+ }
+ ```
+- [Full example](../examples)
\ No newline at end of file