マイクロウェブ
マイクロ非常に強力な、この記事では、コマンドライン機能のマイクロウェブ上に詳しく説明します
この記事を読む前に次の知識ベースが必要になる場合があります
- golang分散型マイクロサービスフレームワークが行く-マイクロ入門注1:GO-ミクロ環境の構築、
- golang行く-マイクロツールのミクロサービスフレームワーク2.1マイクロマイクロのAPI入門ノート
本論文では、環境
名前 | 説明 |
---|---|
オペレーティングシステム | win10 |
バージョンを行きます | バージョンgo1.12.7ウィンドウ/ AMD64行きます |
Gofatः | E:\ winlion \ gopath |
GOPROXY | https://goproxy.io |
G111MODULE | に |
コマンドラインツール | cmderツール自体は、Baiduのマウント |
コマンド行説明
命令マイクロウェブ以下のすべてのパラメータ
NAME:
micro web - Run the web dashboard
USAGE:
micro web [command options] [arguments...]
OPTIONS:
--address value Set the web UI address e.g 0.0.0.0:8082 [%MICRO_WEB_ADDRESS%]
--namespace value Set the namespace used by the Web proxy e.g. com.example.web [%MICRO_WEB_NAMESPACE%]
- アドレスは、デフォルトのポートは8082で、指定したWebアドレスにアクセスするために使用されます
- 名前空間はcom.axample.webがすべて満たすcom.axample.webを表し、オープンなWebサポートサービスのスペースを指定するために使用されます。*アプリケーションのサポート
典型的なアプリケーションシナリオ
マイクロチャネルアプリケーション開発プラットフォーム
同社は、小さな新興企業で、同社の主な事業は、マイクロ文字のアプレットをしている今、自分の会社が一つだけのドメイン名でwww.xxx.com
、A社は、マイクロWebツールを使用して、あなたはへの新しいアプリケーションの繰り返し続けることができるwww.xxx.com
ように、昨日のように次のドメイン名を、彼らは、アプリケーションDEMO1を開発、エクストラネットユーザーがアドレスにアクセスhttps://www.xxx.com/demo1/
、一日の明日を、彼らは、アプリケーションDEMO2を開発し、エクストラネットユーザーがアドレスにアクセスしhttps://www.xxx.com/demo2/
、そして最終的にこのプラットフォーム限り
サービス名 | 説明 | アクセスアドレス |
---|---|---|
com.techidea8.web.www | 会社のプライマリドメイン名 | http://www.xxx.com/www/ |
com.techidea8.srv.wxmp | などの署名、シェア、メニュー管理、など、同社のマイクロチャネルサービス、 | http://www.xxx.com/wxmp/ |
com.techidea8.web.attach | 会社のリソースのアップロードサービス | http://www.xxx.com/attach/ |
com.techidea8.web.pay | 同社の決済サービス | http://www.xxx.com/pay/ |
com.techidea8.web.account | 同社のユーザーセンター | http://www.xxx.com/account/ |
com.techidea8.web.article | クラスのプラットフォームを書い会社 | http://www.xxx.com/article/ |
com.techidea8.web.demo1 | 同社のアプリケーションDEMO1 | http://www.xxx.com/demo1/ |
com.techidea8.web.demox | 同社のアプリケーションdemox | http://www.xxx.com/demox/ |
同社は、反復ビジネス、良い展開とプラットフォームを継続することができます。
分散タスク配信プラットフォーム
OpenwriteがCSDN / oschina / jianshu / juejin・、配信プラットフォームと技術者、プラットフォームに書き込み、ユーザーを書いて配向されているに配布することができます 。・他のチャンネル、我々はマイクロアプリケーションとしてのマイクロWeb開発を使用して、フォローアップは、新しいの反復的な開発を継続することができますチャネルサービスはcom.techidea8.channel*
、既存のビジネスには影響しません。
サービス名 | 説明 | アクセスアドレス |
---|---|---|
com.techidea8.web.www | 家 | http://www.xxx.com/www/ |
com.techidea8.web.attach | 写真、資源およびその他のアップロードサービス | http://www.xxx.com/attach/ |
com.techidea8.web.account | ユーザーセンター | http://www.xxx.com/account/ |
com.techidea8.web.article | ドキュメントセンター | http://www.xxx.com/article/ |
com.techidea8.web.channelcsdn | CSDNチャネルアプリケーション | http://www.xxx.com/channelcsdn/ |
com.techidea8.web.channeljuejin | ナゲッツチャネルアプリケーション | http://www.xxx.com/channeljuejin/ |
戦闘こんにちは、世界!
トラフィックグルーミング
私たちは千人の顔の何千ものと同様の機能を実装する必要があるとし、次のように、特定のアプリケーションシナリオがあります
- ホームアプリケーションのWWW、共通の基本的な情報を表示します
- お奨めサポート、異なるユーザ(UUIDアイデンティティ)、異なるコンテンツを表示
サービス設計は、以下の
サービス名 | 説明 | アクセスアドレス |
---|---|---|
go.micro.web.www | ホームシステム | http://127.0.0.1:8082/www/ |
go.micro.srv.recommend | 推奨されるサービス | http://127.0.0.1:8082/www/guess |
ソースコードを入手して実行します
言うべき重要なこと3回
マイクロウェブソースコードhttps://idea.techidea8.com/open/idea.shtml?id=7
マイクロウェブソースコードhttps://idea.techidea8.com/open/idea.shtml?id 7 =
マイクロWebソースhttps://idea.techidea8.com/open/idea.shtml?id=7
ダウンロード後、解凍場所%GOPATH%\src\techidea8.com\microapp\doc\web
$pwd
E:\winlion\gopath\src\techidea8.com\microapp\doc\web
$ls
recommend/ www/
以下の命令シーケンスを実行するには
#切换到wwww目录下
src\techidea8.com\microapp\doc\web\www>go run main.go
#切换到recommend服务目录下
src\techidea8.com\microapp\doc\web\recommend>go run main.go
#启动web支持
src\techidea8.com\microapp\doc\web\recommend>micro web --namespace=go.micro.web
次のようにインタフェースがあります
WWW上のアプリケーションの詳細
- アプリケーションフレームワークを作成します
>micro new --type=web techidea8.com/microapp/doc/web/www
- デザインプロトファイル、推測インタフェースを要求することが必要となります
#E:\winlion\gopath\src\techidea8.com\microapp\doc\web\www\proto\recommend\recommend.proto
service Recommend{
rpc Guess(Request)returns(Response){};
}
- プロトによって生成されたファイルは行きます
#E:\winlion\gopath\src\techidea8.com\microapp\doc\web\www\ 目录下
>protoc --proto_path=. --proto_path=E:/winlion/gopath/src --go_out=. --micro_out=. proto/recommend/recommend.proto
#
- あなたはまた、サービスを呼び出すようなことがあり、コアコードは以下の通りです。
//handler/handler.go
//go.micro.srv.recommend 是后端猜你喜欢服务名称
guessClient := recommend.NewRecommendService("go.micro.srv.recommend", client.DefaultClient)
rsp, err := guessClient.Guess(context.TODO(), &recommend.Request{
Uuid: request["uuid"].(string),//uuid是前端用户ID
})
- あなたも好きかもしれ安らかなインタフェースは、/ www /の推測をサポートしています
//默认需要加上服务名前奏
// register html handler
service.Handle("/", http.FileServer(http.Dir("html")))
// register call handler/www/guess
service.HandleFunc("/guess", handler.Guess)
- ウェブサービスを開始
$micro web --namespace=go.micro.web
#结果如下
2019/08/25 15:32:08 HTTP API Listening on [::]:8082
2019/08/25 15:32:08 Transport [http] Listening on [::]:57563
2019/08/25 15:32:08 Broker [http] Connected to [::]:57564
2019/08/25 15:32:08 Registry [mdns] Registering node: go.micro.web-32fafadb-a795-46bc-b4d8-ad9a30607a7e
推薦サービスの詳細をお勧めします
- アプリケーションフレームワークを作成します
>micro new --type=srv techidea8.com/microapp/doc/web/recommend
- デザインプロトファイル、推測インタフェースを要求することが必要となります
#E:\winlion\gopath\src\techidea8.com\microapp\doc\web\recommend\proto\recommend\recommend.proto
service Recommend{
rpc Guess(Request)returns(Response){};
}
- プロトによって生成されたファイルは行きます
#E:\winlion\gopath\src\techidea8.com\microapp\doc\web\recommend\ 目录下
>protoc --proto_path=. --proto_path=E:/winlion/gopath/src --go_out=. --micro_out=. proto/recommend/recommend.proto
#
- 推薦サービスを実装する次のように、コアコードは
//handler\recommend.go
//go.micro.srv.recommend 是后端猜你喜欢服务名称
func (e *Recommend) Guess(ctx context.Context, req *recommend.Request, rsp *recommend.Response) error {
log.Log("Received Recommend.Call request")
//具体推荐算法实在这里实现的,
//推荐算法得到结果后赋值给resp.Results
rsp.Results = "这是用户[" + req.Uuid + "]的推荐内容"
return nil
}
- イベント関連の特性をキャンセル
ここでは、イベントを考慮していないので、加入者ディレクトリに、イベントに関連する特性をキャンセルし、その後main.goを変更します
main.go
// 取消事件订阅支持
//micro.RegisterSubscriber("go.micro.srv.recommend", service.Server(), new(subscriber.Hello))
//取消事件发布支持
//micro.RegisterSubscriber("go.micro.srv.recommend", service.Server(), subscriber.Handler)
- 推薦サービスを開始
$go run main.go
推奨読書
経験とソースコードを提供ランディングサイトのアドレスを得るために、マイクロチャネルの二次元コードをスイープ
楽屋管理フレームワークのrestgo管理者を行くgolang言語のオープンソースプロジェクト