亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn)

 更新時(shí)間:2024年01月15日 09:08:03   作者:rubys007  
本文主要介紹了golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn),在Iris里面,提供了一種方式可以讓我們同時(shí)運(yùn)行多個(gè)應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下

在 Iris 里面,提供了一種方式可以讓我們同時(shí)運(yùn)行多個(gè)應(yīng)用:

這里說的應(yīng)用只是一個(gè) Iris 框架實(shí)例,這個(gè)實(shí)例可以有完全不同的路由定義、中間件等。

不同端口不同應(yīng)用

package main

import (
    "log"
    "net/http"
    "time"

    "github.com/kataras/iris/v12"
    "github.com/kataras/iris/v12/middleware/recover"

    "golang.org/x/sync/errgroup"
)

var g errgroup.Group

func startApp1() error {
    app := iris.New().SetName("app1")
    app.Use(recover.New())
    app.Get("/", func(ctx iris.Context) {
        ctx.JSON(iris.Map{
            "code":  iris.StatusOK,
            "message": "Welcome server 1",
        })
    })

    app.Build()
   return app.Listen(":8080")
}

func startApp2() error {
    app := iris.New().SetName("app2")
    app.Use(recover.New())
    app.Get("/", func(ctx iris.Context) {
        ctx.JSON(iris.Map{
            "code":  iris.StatusOK,
            "message": "Welcome server 2",
        })
    })

    return app.Listen(":8081")
}

func main() {
    g.Go(startApp1)
    g.Go(startApp2)

    if err := g.Wait(); err != nil {
        log.Fatal(err)
    }
}

在這個(gè)例子中,我們監(jiān)聽了兩個(gè)端口 8080、8081,我們可以通過這兩個(gè)端口來訪問這兩個(gè)應(yīng)用。

不同域名不同應(yīng)用

這個(gè)就有點(diǎn)類似于 nginx 了,同一個(gè)端口可以同時(shí)監(jiān)聽多個(gè)域名的請(qǐng)求:

package main

import (
	"github.com/kataras/iris/v12"
	"github.com/kataras/iris/v12/apps"
	"github.com/kataras/iris/v12/middleware/recover"
)

func main() {
	app3 := iris.New().SetName("app3")
	app3.Use(recover.New())
	app3.Get("/", func(ctx iris.Context) {
		ctx.WriteString("ha3")
	})

	app4 := iris.New().SetName("app4")
	app4.Use(recover.New())
	app4.Get("/", func(ctx iris.Context) {
		ctx.WriteString("ha4")
	})

	switcher := apps.Switch(apps.Hosts{
		apps.Host{
			Pattern: "app3.local",
			Target:  app3,
		},
		apps.Host{
			Pattern: "app4.local",
			Target:  app4,
		},
	})
	switcher.Listen(":9010")
}

在這個(gè)例子中,監(jiān)聽了 9010 端口,但是通過 app3.local 和 app4.local 去訪問的時(shí)候,結(jié)果是不一樣的。

到此這篇關(guān)于golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)golang Iris運(yùn)行多應(yīng)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解go語言判斷管道是否關(guān)閉的常見誤區(qū)

    詳解go語言判斷管道是否關(guān)閉的常見誤區(qū)

    這篇文章主要想和大家一起探討一下在Go語言中,我們是否可以使用讀取管道時(shí)的第二個(gè)返回值來判斷管道是否關(guān)閉,文中的示例代碼講解詳細(xì),有興趣的可以了解下
    2023-10-10
  • Golang中Error的設(shè)計(jì)與實(shí)踐詳解

    Golang中Error的設(shè)計(jì)與實(shí)踐詳解

    這篇文章主要為大家詳細(xì)介紹了Golang中Error的設(shè)計(jì)以及是具體如何處理錯(cuò)誤的相關(guān)知識(shí),文中的示例代碼簡(jiǎn)潔易懂,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例

    golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例

    這篇文章主要為大家介紹了golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • go語言題解LeetCode1122數(shù)組的相對(duì)排序

    go語言題解LeetCode1122數(shù)組的相對(duì)排序

    這篇文章主要為大家介紹了go語言題解LeetCode1122數(shù)組的相對(duì)排序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Go語言中的函數(shù)詳解

    Go語言中的函數(shù)詳解

    函數(shù)是基本的代碼塊,用于執(zhí)行一個(gè)任務(wù)。本文詳細(xì)講解了Go語言中的函數(shù),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 基于Golang實(shí)現(xiàn)Excel表格的導(dǎo)入導(dǎo)出功能

    基于Golang實(shí)現(xiàn)Excel表格的導(dǎo)入導(dǎo)出功能

    最近項(xiàng)目開發(fā)中有涉及到Excel的導(dǎo)入與導(dǎo)出功能,特別是導(dǎo)出表格時(shí)需要特定的格式,所以本文給大家介紹了基于Golang實(shí)現(xiàn)Excel表格的導(dǎo)入導(dǎo)出功能,文中通過代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 關(guān)于golang類型推斷和變量重聲明詳解

    關(guān)于golang類型推斷和變量重聲明詳解

    在Go語言中,類型推斷可以根據(jù)變量的初始化值自動(dòng)推斷出變量的類型,而不需要顯式地聲明變量類型,變量重聲明可以在同一作用域內(nèi)重復(fù)聲明一個(gè)變量,只要其中至少一個(gè)是新的變量,本就簡(jiǎn)單的給大家介紹一下golang類型推斷和變量重聲明,需要的朋友可以參考下
    2023-08-08
  • 詳解Go如何實(shí)現(xiàn)協(xié)程并發(fā)執(zhí)行

    詳解Go如何實(shí)現(xiàn)協(xié)程并發(fā)執(zhí)行

    線程是通過本地隊(duì)列,全局隊(duì)列或者偷其它線程的方式來獲取協(xié)程的,目前看來,線程運(yùn)行完一個(gè)協(xié)程后再從隊(duì)列中獲取下一個(gè)協(xié)程執(zhí)行,還只是順序執(zhí)行協(xié)程的,而多個(gè)線程一起這么運(yùn)行也能達(dá)到并發(fā)的效果,接下來就給給大家詳細(xì)介紹一下Go如何實(shí)現(xiàn)協(xié)程并發(fā)執(zhí)行
    2023-08-08
  • 詳解Go語言實(shí)現(xiàn)線性查找算法和二分查找算法

    詳解Go語言實(shí)現(xiàn)線性查找算法和二分查找算法

    線性查找又稱順序查找,它是查找算法中最簡(jiǎn)單的一種。二分查找,也稱折半查找,相比于線性查找,它是一種效率較高的算法。本文將用Go語言實(shí)現(xiàn)這兩個(gè)查找算法,需要的可以了解一下
    2022-12-12
  • Golang 字符串與字節(jié)數(shù)組互轉(zhuǎn)的實(shí)現(xiàn)

    Golang 字符串與字節(jié)數(shù)組互轉(zhuǎn)的實(shí)現(xiàn)

    在Go語言中,我們經(jīng)常在字符串和切片之間進(jìn)行轉(zhuǎn)換,本文就詳細(xì)的介紹一下Golang 字符串與字節(jié)數(shù)組互轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論